我自学了Obj-C,并且一直在自学Cocoa,但是在我的程序中添加Core Data只给我带来了巨大的麻烦,这要归功于我需要广泛的自定义逻辑。以下是一些令我疯狂的问题。
如果我希望托管对象拥有另一个托管对象怎么办?看来如果我给它一个多对多的关系,拥有的对象将由各种主人共享,但我希望每个所有者都有自己的。
如果我将NSManagedObject子类化,是否可以对Array Controller进行简单调用以删除或复制ManagedObject的实例,并假设这些实例将被转换为Core Data模型?
如果我想以编程方式编辑ManagedObject的属性,我是否可以单独使用对阵列控制器的KVC调用?关于从NSManagedDataStoreDrivingMeCrazy NSPredicate对NSManagedObjectContext的NSFetchRequest的所有讨论是什么?我可以创建一个NSFetchRequest来过滤当前在表视图中选择的对象的关系吗?
一旦我使用获取请求获取一组对象,我该如何查询他们的关系?这需要一个完整的其他FetchRequest,Predicate等等吗?核心数据应该更容易吗?我错过了什么吗?
答案 0 :(得分:2)
实体类似于一个类 - 它是稍后将实例化的托管对象的蓝图。每个托管对象都有自己的属性和关系来配置。
您绝对可以插入和删除托管对象。您可能需要执行一些代码来支持复制,但我不确定。
是的,托管对象的属性(属性和关系)支持KVC(以及KVO和绑定)。
只需使用您在模型中定义的关系名称即可访问对象或对象集(不需要额外的提取或逻辑)。