存储NSArray的NSManagedObjects或NSManagedObjectIDs更好吗?

时间:2010-05-08 12:46:11

标签: iphone objective-c memory core-data

在我的应用程序中,我需要跟踪正在显示的对象列表。现在我有一个NSArray与所有NSManagedObjects。我最好存储ObjectID,然后在需要时才请求对象吗?

此时我主要关心记忆。

1 个答案:

答案 0 :(得分:4)

  

此时我主要关心记忆。

这里的第一个问题是你并不真正了解内存的存储方式。你的这个数组只保存指向对象的指针,而不是对象本身,因此保持NSManagedObjects vs ObjectIDs与指针大小相同。

CoreData非常开发,并且在托管对象上下文中有自动内存处理和故障的许多内部优化。

鉴于此信息,似乎明确的选择是仅在数组中使用NSManagedObjects,因为以其他方式执行它不会带来任何好处,并且这样做可以编写更少的代码来检索它们。