24得票5回答
检测NSManagedObject的特定属性的更改

如何检测NSManagedObject的特定属性更改?在我的Core Data数据模型中,我有一个表示出售产品的Product实体。 Product实体有多个属性:price、sku、weight、numberInStock等。每当Product的price属性更改时,我需要执行一个漫长的计算...

24得票5回答
一个NSManagedObjectContext无法删除其他上下文中的对象。

我有两个实体,每个实体在其自己的UITableView部分中显示。我已经启用了编辑功能,允许用户通过向右滑动删除行。对于第一个实体,这很正常,但是当我尝试删除第二个实体中的对象时,我会收到此错误:An NSManagedObjectContext cannot delete objects i...

23得票1回答
核心数据合并两个托管对象上下文

我的Cocoa应用程序在主线程上拥有托管对象上下文。当我需要更新数据时,我的程序会: 启动一个新线程 从服务器接收新数据 创建一个新的托管对象上下文 发送通知到主线程以合并这两个上下文 这是在主线程上接收通知的函数。- (void)loadManagedObjectFromNotifi...

23得票8回答
从Core-Data中删除特定的条目/行

我在我的应用程序中使用核心数据,当涉及到从核心数据存储中删除某些行或条目时感到困惑。我像这样将一些产品插入到存储中:NSManagedObject *Product = [NSEntityDescription insertNewObjectForEntityForName:@"Product...

22得票3回答
我该如何在NSManagedObject的Swift扩展中创建托管对象子类的实例?

创建一个扩展帮助类来为NSManagedObject创建新的受管理对象子类时,Swift提供了Self类型来模仿instancetype非常棒,但我似乎无法从AnyObject进行类型转换。以下代码无法编译,出现错误"'AnyObject' is not convertible to 'Sel...

22得票5回答
核心数据 willSave: 方法

我的Entity A有一个名为modificationDate的属性。我想在每次保存NSManagedObject时设置它的值。但是,如果我尝试在NSManagedObject的willSave:方法中这样做,就会出现错误:*** Terminating app due to uncaught...

21得票3回答
比较两个NSManagedObjects

我有一些代码,它循环遍历NSManagedObjects数组,并在找到存储在实例变量中的特定记录时停止。我唯一能确定它们是相同记录的方法(而不是等价记录)是通过比较对象ID的URI表示。这肯定不是最好的方法。我的代码如下:if ([[[obj1 objectID] URIRepresentat...

21得票2回答
NSManagedObject和KVO vs 文档

我有一个自定义的NSManagedObject子类,比如说,Person。 我还有一个UIView通过-addObserver:forKeyPath:options:context:注册来观察Person的各种属性,其中一些是持久化的,例如“name”,而其他一些则只是KVO兼容的访问器,与C...

20得票6回答
NSManagedObjectModel的initWithContentsOfURL方法返回nil,即使modelURL是有效的。

尽管路径正确,但我的NSManagedObjectModel返回了nil。 NSString *modelKey = [NSString stringWithFormat:@"/%@/Model", name]; NSString *modelPath = [((Conf...

20得票2回答
使用CoreData,如果我有一个@dynamic属性,是否可以像@synthesized一样覆盖它的getter方法?(惰性实例化)

使用CoreData,我创建了一个实体,然后将它子类化为自己的文件,在这个文件中有@propertys,然后在.m文件中有@dynamic部分。 当我想要某件事情在没有设置时拥有特定的值,我总是使用懒加载,如下所示:- (NSString *)preview { if ([self.b...