ios - 如何使用 NSManagedObject 的子类?

标签 ios objective-c core-data

我正在 iOS 上开发一个相当大的应用程序。到目前为止,我一直在这样使用 CoreData:

有一个类,该类具有诸如 -(NSArray*)getAllEntries-(void)saveEntry:(Entry *)entryEntry 之类的方法 有一些属性,例如字符串、字典、可能保存或不保存在 CoreData 中的其他对象的数组等。大多数情况下,我使用其默认构造函数初始化 Entry,并将值设置为通过使用我从 CD 商店获取的 valueForKey:NSManagedObject 获取值来获取属性。

我开始这样编码是因为当时我还是 obj-c 的新手,而且我有 C++/Java 背景。

现在,我正在应用程序中开发一个新模块,并希望以 obj-c 方式完成所有操作。

据我所知,如果使 Entry 对象成为 NSManagedObject 的子类,我只能使用 [NSEntityDescription insertNewObjectForEntityForName:@"Entries"inManagedObjectContext 来初始化它: context];,这意味着它将与实体绑定(bind)?问题是,例如,我可能想从我从互联网上提取的数据中初始化该对象,但我可能不想将它保存到持久存储中。或者,我可能想从商店中取出对象,编辑值,但不将其保存到商店中。一切都会很好(可能),但据我所知,如果我在用于实例化对象的上下文中调用 save 方法,该对象将被保存到我不想保存的存储中。

所以现在我有点困惑我应该如何继续这样做。我执行核心数据的旧方法是否可以,或者我应该使用 NSManagedObject 的子类并使用一些我还不知道的技巧?如果是后者,那些技巧是什么?

最佳答案

不鼓励使用链接答案,但您真的想阅读 Apple 关于 Core Data 的详尽文档。具体来说,谷歌搜索“创建和修改自定义托管对象”。

(当前在此 link 找到。)

关于ios - 如何使用 NSManagedObject 的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151779/

相关文章:

ios - 从 TableViewController 调用 moveRowAtIndexPath

ios - 更改UIDocumentInteractionController上的NavigationBar背景

iphone - 为什么调试器不知道我的 Core Data 生成的托管对象类上的方法? (附代码)

ios - 我应该为 iOS 待办事项应用程序使用 Core Data 吗?

ios - 核心数据与 SQLite

javascript - window.onload 在 iOS 上未触发

ios - TableView 在 iOS 设备上不工作

ios - 如何用变量绑定(bind)窗体上的控件

ios - 如何在表格 View 中一次选择单选按钮

ios - 如何以视觉语言格式编写内在大小的内容拥抱优先级?