NSManagedObject 是否保留其 NSManagedObjectContext?

2024-02-25

NSManagedObject提供对其的访问NSManagedObjectContext http://developer.apple.com/library/mac/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html#//apple_ref/occ/instm/NSManagedObject/managedObjectContext,但它保留它吗?

根据“在 iOS 上传递 NSManagedObjectContext”作者:Marcus Zarra http://www.cimgf.com/2011/01/07/passing-around-a-nsmanagedobjectcontext-on-the-iphone/, "The NSManagedObject保留对其的引用NSManagedObjectContext在内部,我们可以访问它。”

Zarra 是如何知道这一点的?他是正确的吗?

我这么问是因为我想知道是否NSManagedObjectContextdealloc编辑于tearDown方法如下。 (我在用着可可厂 https://github.com/acani/CocoaPlant.)

#import <SenTestingKit/SenTestingKit.h>
#import <CocoaPlant/CocoaPlant.h>

#import "AccountUser.h"

@interface AccountUserTests : SenTestCase {
    AccountUser *accountUser;
}
@end

@implementation AccountUserTests

- (void)setUp {
    accountUser = [AccountUser insertIntoManagedObjectContext:
                   [NSManagedObjectContext contextWithStoreType:NSInMemoryStoreType error:NULL]];
}

- (void)tearDown {
    [accountUser delete];
}

- (void)testFetchWithLinkedAccountUserID {    
    // Tests go here...
}

@end

NSManagedObject 不持有对其 NSManagedObjectContext 的强引用。我已经在一个测试项目中检查过这一点。 因此,只要使用 NSManagedObjectContext 的对象,就应该保持对它的强引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSManagedObject 是否保留其 NSManagedObjectContext? 的相关文章

  • 使用 NSPredicate 将所有值相加

    我有一个使用核心数据的程序 在循环中添加每个实体的数值时 我有点作弊 我读到有关使用 NSPredicate 来过滤数据的内容 但我不知道如何操作数据或如何存储结果 谢谢 如果符合您的要求 您可以分两步完成 首先用你的过滤你的数据NSPre
  • NSFetchedResultsController XCode 7 问题

    Xcode 7 beta 6 和 NSFetchedResultsController 今天让我头疼 如果我使用 Xcode 6 编译相同的代码 使用 Swift 2 修复 程序可以在设备和模拟器 iOS 7 iOS8 上运行 但是 如果我
  • Swift NSSet 和 CoreData

    我正在尝试将目标 C 和 CoreData 应用程序移动到 Swift 和 iOS 但在迭代 NSSet 对象时遇到了困难 Xcode 已生成这些类 class Response NSManagedObject NSManaged var
  • 循环核心数据 NSSet 的正确语法

    每当我循环遍历核心数据关系 NSSet 时 我必须将集合转换为数组 for student in classroom students allObjects as Student print student name 或者我可以正常循环遍历
  • 如何保证主机应用程序和扩展程序使用的共享应用程序容器中的核心数据存储中的唯一条目?

    为了有效地提出我的问题 让我们首先考虑一下我面临的具体场景 常规设置 一个主机 iOS 8 应用程序 与主机应用程序捆绑在一起的一个或多个 iOS 8 扩展 WatchKit Share 等 主机应用程序和所有扩展在共享应用程序组容器中共享
  • 将 NSSet 转换为 Swift 数组

    在 CoreData 中我定义了一个无序的一对多关系 这种关系在 Swift 中定义如下 NSManaged var types NSMutableSet 然而 为了最好地使用 Swift 我想使用一个普通的 Swift 数组 比如Type
  • iCloud Core Data 在 Xcode 6 / ios 8 SDK 中运行后不可用

    我有一个使用 Core Data 和 iCloud 同步的应用程序 它在 iOS 7 中运行良好 自从在 XCode 6 中运行它以来 即使在 iOS 7 设备上 我也遇到了一些问题 这是我的测试 在 iOS 7 设备上 从应用程序商店下载
  • 使用Core Data中的Cascade删除关系对象

    我希望使用核心数据执行一些简单的删除 但仅需要对此的一些建议 我有一个包含交易 名称 事件和日期实体的模型 该交易与其他每个实体都有链接 在应用程序中 当用户将信息添加到文本字段时 该信息会保存到 4 个选项卡的表格视图控制器中 第一个选项
  • 构建复杂 NSCompoundPredicate 的最佳方法是什么?

    我需要建立一个NSPredicate有很多数据 例如 在 SQL 中我会执行如下操作 SELECT FROM TRANSACTIONS WHERE CATEGORY IN categoryList AND LOCATION IN locat
  • 跳过痛苦的 Core Data 迁移并迁移到新的数据模型

    当我什至不关心旧数据时 我花费了大量时间将核心数据整理到新的迁移中 有没有一种方法可以删除所有现有数据并跳转到新的数据模型 而不是每次更改数据模型时都处理映射模型的麻烦 是的 只需删除商店文件并重新创建即可 我经常 至少在开发过程中 让我的
  • 更改 NSManagedObject 属性而不触发委托方法?

    有什么方法 或技巧 可以修改NSManagedObject目前由一名代表持有NSFetchedResultsController不触发didChangeObject and controllerWillChangeContent 委托方法
  • 保存时出现 iphone 核心数据未解决的错误

    尝试保存时 我从核心数据中收到一条奇怪的错误消息 但问题是错误不可重现 在执行不同任务时 它会在不同时间出现 错误消息 Unresolved error Domain NSCocoaErrorDomain Code 1560 UserInf
  • 从核心数据存储创建 .sqlite 文件?

    我在书籍和提供 sqlite 文件下载的网站上看到过教程 sqlite 文件用于核心数据 如何获取 sqlite 文件FROM应用程序或核心数据存储TO我的桌面 如果您要创建一个预填充的 sqlite 文件以与 Core Data 一起使用
  • 迁移大型 Core Data 数据库崩溃

    我有一个将产品存储在核心数据文件中的应用程序 这些产品包括作为 可转换 数据的图像 现在我尝试使用轻量级迁移添加一些属性 当我使用一个小型数据库对其进行测试时 它运行良好 但当我使用一个接近 500 MB 的大型数据库时 应用程序通常会因内
  • ViewPager 的 Android Viewholder

    您好 我正在使用 ViewPager 但我现在想保留状态 而不是重新生成单元格 我注意到 viewpager 与 listviews 的自定义适配器非常相似 它们的功能类似 listview 在单元格不再出现在屏幕上后重新生成单元格中的数据
  • Excel 工作表到 iPhone 数据 -- A 点到 B 点

    尽可能简单 我有一个非常简单的 Excel 电子表格 只有 1000 多条记录 我想将其用作 iPhone 应用程序的静态数据源 最好的进攻计划是什么 我心中的可能性 1 直接读取XLS作为数据源 是否有Obj C库用于此 2 将XLS 转
  • Cocoa 基于文档的应用程序中的 MVC

    我目前正在对我的应用程序进行重构和重组 我意识到模型和视图及其控制器之间的一些分离已经减少 我希望进行一些清理 我的应用程序中使用了几个关键类 NSPersistentDocument NSWindowController 和模型类 NSP
  • 奇怪的父/子NSManagedObjectContext现象

    我创建了两个这样的上下文 create writer MOC privateWriterContext NSManagedObjectContext alloc initWithConcurrencyType NSPrivateQueueC
  • 核心数据:为什么必须调用重新加载数据才能使我的应用程序运行?

    我花了整个晚上调试一个简单的应用程序 该应用程序从网络检索一张图像 是的 是的 旨在让我的生活更轻松 并将其显示在表格视图中 我这样做是为了练习学习核心数据 在我修复它之前 错误消息显示如下 2012 09 30 06 16 12 854
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行

随机推荐