【发布时间】:2014-05-17 15:05:29
【问题描述】:
我需要使用 Core Data 实现对象队列的持久性。唯一的操作是 peek、delete 和 pop。从性能和内存使用的角度来看,有人可以建议最好的方法是什么?可能有数千个对象,我不想将它们全部保存在内存中。
[[DataManager shared] push: myItem1];
[[DataManager shared] push: myItem2];
.....
[[DataManager shared] push: myItem10000];
.....
MyItem* item = [[DataManager shared] peek];
while(item != nil){
if([self processItem: item]){
[[DataManager shared] delete: item];
}else{
break;
}
item = [[DataManager shared] peek];
}
提前致谢。抱歉,如果这是一个愚蠢的问题,我是 Core Data 的新手,据我所知,它与 sqllite 数据存储不同,我不能在 Core Data 中使用 sql 技术。
【问题讨论】:
-
Core Data 怎么样?你的最终目标是什么?
-
目标是使高性能对象队列数据存储使用低内存。 Core Data 将对象保存在内存中,这意味着如果我推送 1000 个对象,它们将在内存中。当对象被刷新存储时,有什么方法可以释放内存?
标签: objective-c core-data memory-management