核心数据 - 获取对象的频率如何?

时间:2012-08-21 11:45:52

标签: core-data nsfetchrequest

所以我做了很多我的物品。例如,在启动时,我在选项卡上为徽章设置了未读计数。为了得到这个未读数,我需要获取我的datamodel对象,以查看哪些对象的标志未读。所以我们有一个提取。然后在该方法之后,我再次获取所有数据模型对象以执行其他操作。然后在视图控制器上我需要显示我的datamodel对象,所以我在那里再做一次提取等等。

所以有很多这样的电话:NSArray *dataModelObjects = [moc executeFetchRequest:request error:&error];

这对我来说似乎有点多余?由于我将使用我的datamodel对象,我不仅可以在应用程序中获取它们一次,并且只要我需要访问它们就可以通过实例变量访问它们吗?但我总是想拥有最新的数据。因此可以添加和/或删除数据模型对象。

我对自己想要达到的目标有任何意义吗?

1 个答案:

答案 0 :(得分:0)

关于Core Data的概念和好处是,每次需要一个对象时都不需要访问数据库 - 这就是创建NSManagedObjectContext的原因 - 它存储从数据库中检索的那些对象,所以,如果你试图获得你已经从数据库中获得的对象,它将会非常快。

NSManagedObjectContext中对这些对象的每次更改都会自动发送给您。

但是如果你在数据库中有一些变化,它们可能不会反映在NSManagedObjectContext中,所以你必须刷新它们。您可以阅读有关保持对象的最新信息here