草庐IT

nsmanagedobject

全部标签

ios - 类别中的自定义 NSManagedObject setter

我已将我所有的NSManagedObject自定义逻辑放在一个类别中,这样我就可以在模型发生变化时从我的模型中重新生成标准类。我需要的其中一个逻辑是对象属性之一的自定义setter:-(void)setName:(NSString*)name{[selfwillChangeValueForKey:@"name"];[selfsetPrimitiveValue:nameforKey:@"name"];[selfdidChangeValueForKey:@"name"];NSLog(@"namewaschanged");//forexample}我已将其放入类别中,在本例中为Item+Cu

ios - 防止重复的 NSManagedObjects

考虑两个实体Author和Book,它们处于多对多关系中,它们从外部数据库导入到我的CoreData存储中。我感到困惑的是,我是否应该为每个作者创建一个新的NSManagedObject,即使该作者已经在商店中?我怎么知道同名的两位作者是同一个人?例如,我可以最终得到10个JohnSmiths,其中5个是同一个人,但是在导入数据时无法检查这一点,对吗?假设我想为这些JohnSmiths中的一个做一个fetchrequest,我仍然会得到10个结果。他也可能以J.Smith或J.A.史密斯。但J.Smith也可以是JennySmith。我应该只为每个作者创建一个NSManagedObje

ios - NSManagedObject 子类 - 发送到实例的无法识别的选择器

我有一个核心数据类ZSShotCD,它是从xcdatamodeld生成的(是的,我已经在模型中正确设置了该类)。我不想在其中放置任何自定义方法,因为我可能需要在某些时候重新生成,所以我将其子类化为ZSShot。以下是一些相关位:首先是生成的类:#import#import@interfaceZSShotCD:NSManagedObject@property(nonatomic,retain)NSString*shotDescription;@property(nonatomic,retain)NSString*shotType;@end.m文件是您所期望的,带有一组属性的@dynami

ios - 核心数据 EXC_BAD_ACCESS KERN_PROTECTION_FAILURE

我有多个崩溃报告指向以下内容:Thread:Crashed:NSOperationQueue0x18c7fba00libsystem_platform.dylib0x38665a36OSAtomicCompareAndSwap32Barrier+131libobjc.A.dylib0x3805694brealizeClass(objc_class*)+782libobjc.A.dylib0x38058797lookUpImpOrForward+743libobjc.A.dylib0x3805102b_class_lookupMethodAndLoadCache3+344libobjc.

ios - 将 NSManagedObject 变成部分错误,其中一些字段为 nil 而有些则不是

Apple将故障描述为partiallymaterializedfutures,这与多个数据库中使用的术语partiallymaterializedviews非常相似。部分一词对我来说意味着该对象的某些字段已初始化(实现),而有些则未初始化。但Apple将故障描述为:Amanagedobjectfaultisaninstanceoftheappropriateclass,butitspersistentvariablesarenotyetinitialized.有什么方法可以部分实现故障吗?例如。我有一个有10个字段的对象,我想要一个只实现两个字段的部分对象,而整个对象仍然是错误的(因

objective-c - 将项目从 NSArray 传输到 NSSet for NSManagedObject

两个相关问题:当您使用[NSSetsetWithArray:]时,它会自动为您删除重复对象吗?您如何准确地告诉NSSet您希望“复制”是什么意思?IE。如果你有一堆“大学类(class)”对象,每个对象都有一个名称和部分编号,并且你想转移到一个NSSet,只保留给定名称的每个大学类(class)中的一个(例如,如果你有三个部分微积分,你如何告诉它只保留微积分的一个部分,即使它们的部分编号不同,所以默认情况下它们不会被视为相同)。谢谢!如果这个问题根本不清楚,请告诉我。我在想出一种表达方式时遇到了麻烦。编辑:此问题特定于NSManagedObjects,其isEqual:方法无法被覆盖。

ios - 如何计算/遍历 NSManagedObject 具有的所有属性?

我在CoreData中将一个NSManageObject设置为一个实体。获取实体后,我希望能够提取所有属性并将它们放入NSMutableArray以填充UITableView。例如:实体:项目属性:startDate(必填);完成日期(可选);项目名称(必填);等等……如何将所有这些放入NSMutableArray中?或者是否有更好的方法来填充UITableView? 最佳答案 您可以通过向NSEntityDescription询问其NSAttributeDescription对象来获得此信息:NSManagedObject*obj

ios - 在后台获取核心数据对象 : objects not faulted

在将CoreData中的对象与GCD结合使用时,我需要一些帮助;我似乎得到了没有错误进入主线程的NSManagedObjects,即使我访问它们的属性也是如此。非常感谢您的帮助。这就是我正在做的事情:启动时,我需要从CoreDataDB加载人员列表,在后台进行一些自定义处理,然后重新加载表格以显示姓名。我通过仅将objectID传递到GCD队列来遵循CoreData多线程指南。但是当我在主线程上重新加载tableview时,我从来没有看到为联系人显示的名称(或其他属性),并且在仔细检查时,NSManagedObjects原来是主线程上的错误,即使我访问了各种属性cellForRowAt

ios - 在模型编辑器中更改模型时重新创建 NSManagedObject 子类

我想知道在核心数据模型编辑器中更改属性或添加字段后是否有更新NSMangedObject子类的方法。有时我添加一个字段,或者意识到我不小心将整数作为类型而不是字符串,但是我的NSManagedObject子类已经创建了。因此,我想知道Xcode是否有办法只更新模型,而不是手动进入并添加这些字段?谢谢。 最佳答案 其他人已经解释了如何重新创建文件,但请注意文件会覆盖原始文件,因此如果您进行了任何手动添加(例如,额外的方法),您将丢失它们。在您再次写出文件之前,备份会很有用。如果您确实需要向NSManagedObject子类添加功能,请

objective-c - NSmanagedObject copyWithZone 问题

我有一个自定义类Thing:NSManagedObject,其属性为adminName。我试图在这个Thing类中创建一个copyWithZone函数,但是当我运行该应用程序时,它说setAdminName不存在。在我使用的实现文件中@dynamicadminName;-(id)copyWithZone:(NSZone*)zone{Thing*regCopy=[[ThingallocWithZone:zone]init];regCopy.attendeeNum=[selfadminName];returnregCopy;}我不相信我可以将@dynamic更改为@synthesize,因