新的 NSManagedObject 子类与新的 NSObject 子类?

Posted

技术标签:

【中文标题】新的 NSManagedObject 子类与新的 NSObject 子类?【英文标题】:New NSManagedObject subclass vs. new NSObject subclass? 【发布时间】:2011-12-22 03:04:46 【问题描述】:

我有两个 NSManagedObject 子类,Person 和 Photo,我用 CoreData 存储它们。我需要一个照片的评论对象,我想知道是否应该创建一个新的 NSManagedObject 子类并将其存储在核心数据中,或者创建一个 nsobject 的子类并在我的 Photo 对象中有一个数组?最好的事情是什么?各有什么优缺点?

【问题讨论】:

【参考方案1】:

在我看来,使用 Core Data 更好;

因为你可以使用关系直接获取评论,并且将评论缓存在数据库中会释放服务器请求的时间~

【讨论】:

【参考方案2】:

如果您在 Photo 中有一个数组... Photo 是一个 NSMagangedObject,因此如果您想保留它们,它将最终存储在核心数据中。并且该数组可能需要转换为 NSValue... Core Data 在很多方面都像一个数据库,在数据库中你不会想到数组,你会想到表。 所以我强烈建议使用 NSManagedObject。 它可能允许您查询在特定日期添加或修改了 cmets 的所有照片。使用您提出的数组模型来实现这一点将非常复杂。

【讨论】:

以上是关于新的 NSManagedObject 子类与新的 NSObject 子类?的主要内容,如果未能解决你的问题,请参考以下文章

创建新的 NSManagedObject 并将其分配给新的 NSManagedObject *有时*会失败

Callback 与新的 AsyncCallback(Callback) 有啥不同?

UIPickerView 与新的 UITableViewController

HttpClientFactory.Create 与新的 HttpClient

Runnable::new 与新的 Runnable()

iOS 14 Beta - Swift UI 中的核心数据错误:任何模型中都没有 NSEntityDescriptions 声明 NSManagedObject 子类