0

大家早上好,我使用 Core Data 和 TICoreDataSync 库 ( http://timisted.github.io/TICoreDataSync/ ) 开发了一个 iOS 应用程序来在设备之间同步,现在我想创建一个类似的 Mac OSX 应用程序来与iOS 1,我正在网上寻找如何有效处理数据,因为我有大约 500.000 条记录。在 iOS 上,我使用 NSFetchedResultsController 来有效地管理从核心数据获取请求返回的结果,以便为 UITableView 对象提供数据,但在 Mac OSX 上,NSFetchedResultsController 不可用,所以我在这里阅读了替代方案:

http://youtu.be/NpDQDjFJ_5Y

如何在 NSTableView 中处理超大 CoreData 存储?

NSArrayController 无需将大型数据集加载到数组中

但是阅读评论似乎有人认为这些方式仍然滞后。你建议我怎么做?提前非常感谢。

4

1 回答 1

0

您可以使用 Core Data 增量存储在后台将数据同步到您的 Mac OSX。

https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/IncrementalStorePG/Introduction/Introduction.html

要在表视图上加载数据,您可以使用委托源方法从本地核心数据存储使用中批量获取数据

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row;

或者,如果您不想使用 Core Data 增量存储(这将很难使用),那么在委托方法中,调用服务来获取您的数据并将其显示在 UI 上。我们已经成功测试并处理了大约 200000 多条记录。

于 2014-04-01T05:28:49.540 回答