gpt4 book ai didi

cocoa - NSManagedObject 可以拥有另一个 NSManagedObject 作为属性吗?

转载 作者:行者123 更新时间:2023-12-03 17:08:11 26 4
gpt4 key购买 nike

我自学了 Obj-C,并且一直在自学 Cocoa,但是将 Core Data 添加到我的程序中却让我非常头疼,因为我需要大量的自定义逻辑。以下是几个让我抓狂的问题。

  1. 如果我希望一个托管对象拥有另一个托管对象怎么办?看起来如果我给它一个一对多的关系,拥有的对象将简单地由各个主人共享,但我希望每个所有者都有自己的。

  2. 如果我对 NSManagedObject 进行子类化,我可以对数组 Controller 进行简单调用来删除或复制 ManagedObject 实例,并假设这些实例将被转换为核心数据模型吗?

  3. 如果我想以编程方式编辑 ManagedObject 的属性,我可以只通过 KVC 调用阵列 Controller 吗?关于从 NSManagedDataStoreDrivingMeCrazy 到 NSManagedObjectContext 的 NSPredicate 一个 NSFetchRequest 的讨论到底是什么?我可以创建一个 NSFetchRequest 来过滤 TableView 中当前选定的对象的关系吗?

  4. 一旦我使用获取请求来获取一组对象,我该如何查询它们的关系?这是否需要其他的 FetchRequest、Predicate 等等?核心数据不是应该更容易吗?我错过了什么吗?

最佳答案

  1. 实体类似于类——它是稍后将实例化的托管对象的蓝图。每个托管对象都有自己的属性和关系需要配置。

  2. 您绝对可以插入和删除托管对象。您可能需要编写一些代码来支持复制,但我不确定。

  3. 是的,托管对象的属性(属性和关系)支持 KVC(以及 KVO 和绑定(bind))。

  4. 您只需使用在模型中定义的关系名称即可访问对象或对象集(不需要额外的提取或逻辑)。

关于cocoa - NSManagedObject 可以拥有另一个 NSManagedObject 作为属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com