我正在开发一款iPhone应用程序,它大量使用Core Data,主要是为了其类似于数据库的功能(例如在提取请求中设置排序顺序或谓词的能力)。我将所有提取到的数据都呈现在各种UITableViewControllers中。
我想知道的是,在使用NSFetchedResultsController处理请求之前,我可以提取多少对象。在Core Data文档中,它说SQLite存储认为“10,000个对象是一个相当小的数据集”,但在NSFetchedResultsController的文档中,它提到每次保留“数十个对象”在内存中。
我主要处理高达五十个对象的数据集,每个对象可能有十几个NSNumber和NSString实例,以及下一组对象的一对多关系(即有二十个对象A的实例,每个实例都有一对多关系连接到三十个(不同的)对象B的实例中,每个实例...)。
这种情况是否适合使用NSFetchedResultsController,或者我可以使用简单的NSArray结果?我没有管理控制器的细节问题(方便的方法获取UITableView索引路径的对象,将新对象添加回上下文等),我只是想知道每种方法的内存使用情况。
我应该提到,该应用程序主要针对iPhone 3G(不是S)和第一代iPod Touch用户,因此请记住这些平台的有限内存。
我想知道的是,在使用NSFetchedResultsController处理请求之前,我可以提取多少对象。在Core Data文档中,它说SQLite存储认为“10,000个对象是一个相当小的数据集”,但在NSFetchedResultsController的文档中,它提到每次保留“数十个对象”在内存中。
我主要处理高达五十个对象的数据集,每个对象可能有十几个NSNumber和NSString实例,以及下一组对象的一对多关系(即有二十个对象A的实例,每个实例都有一对多关系连接到三十个(不同的)对象B的实例中,每个实例...)。
这种情况是否适合使用NSFetchedResultsController,或者我可以使用简单的NSArray结果?我没有管理控制器的细节问题(方便的方法获取UITableView索引路径的对象,将新对象添加回上下文等),我只是想知道每种方法的内存使用情况。
我应该提到,该应用程序主要针对iPhone 3G(不是S)和第一代iPod Touch用户,因此请记住这些平台的有限内存。