CoreData:NSManagedObject 扩展

Posted

技术标签:

【中文标题】CoreData:NSManagedObject 扩展【英文标题】:CoreData: NSManagedObject extensions 【发布时间】:2010-09-07 20:01:46 【问题描述】:

我正在使用 CoreData,我有两个托管对象:Author 和 Book。一个作者可以有很多本书,但一本书只能有一个作者(为了这个例子)。

Author 类扩展了 NSManagedObject,Book 也扩展了 NSManagedObject。在我的 Author 类中,是否可以创建一个扩展,以便我可以在 author 中进行自定义搜索。例如,可以这样写:

  Author* theAuthor = /* found somewhere else */
  NSArray* books = [theAuthor booksWrittenAfter:2009];

调用“booksWrittenAfter:”会在 CoreData 中进行搜索,返回 2009 年之后为该作者撰写的书籍?

我已经用代码编写了它,它可以工作和编译,我只是想知道这样做是否可以,或者 CoreData 中的所有搜索是否应该在另一个类中完成,并且 Author 和 Book 类保持更简单?

非常感谢!

迈克尔

【问题讨论】:

我觉得还可以,看你的口味了。 【参考方案1】:

是的,没关系。您也可以在 Xcode 的 Core Data GUI 界面中进行操作。在 Xcode 4 中,单击并按住左下角的加号。然后选择添加获取请求。然后,您可以在那里定义获取请求。

【讨论】:

以上是关于CoreData:NSManagedObject 扩展的主要内容,如果未能解决你的问题,请参考以下文章

CoreData:将字符串转换为 NSManagedObject 实例

SWIFT CoreData NSManagedObject

保持 CoreData NSManagedObject 新鲜

如何在 CoreData 的代码中设置 NSManagedObject 与另一个 NSManagedObject 或它们的堆栈的关系?

调用 NSManagedObject 类上的指定初始化程序失败 - CoreData

CoreData:NSManagedObject 不响应用户定义的消息