0

例如。如果我有一个使用对象的聊天应用程序:ChatRoomChatMessage. (的两个子类NSManagedObject
在整个应用程序中,我需要:搜索聊天室/添加按摩/创建聊天室和消息/以及任何其他操作。
如果我直接用核心数据做所有事情可以吗?我的意思是每次我需要搜索聊天室或类似的东西时,使用 NSFetchRequest 或 NSFetchedResultsController 来完成。

4

1 回答 1

1

当然,您可以随时访问数据。另一方面,您应该尽量使用缓存机制。

例如,如果您正在使用您的数据,UITableView那么您应该NSFetchedResultsController明确地使用它是为UITableViews. 来自苹果文档NSFetchedResultsController

它可以选择监视其关联的托管对象上下文中对象的更改,并将结果集的更改报告给其委托(请参阅“控制器的委托”)。它可以选择缓存其计算结果,以便如果随后重新显示相同的数据,则不必重复工作(请参阅“缓存”)。

否则,如果您只是临时需要数据,您当然可以在NSFetchRequest每次需要时访问它们,或者如果它们没有更改或者您知道它们的生命周期,则将它们缓存在您的业务对象中。

于 2012-04-27T19:05:28.190 回答