我无法掌握此功能的最佳实现。我的最终目标是从一个便条文档中获取统计数据,例如按字数统计和按行计算行数(会话是打开文档并编辑然后关闭文档的一个实例)。然后获取该数据并随时间绘制图表。我找不到任何与使用核心数据相关的方法。我正在使用NSFetchedResultsController与斯坦福发布的精彩iOS讲座一致。
这可能只是我对核心数据的一个巨大误解。是否更容易将每个会话数据保存为NSString属性,格式与“timestamp-wordCount”和“timestamp-lineCount”类似,以便以后解析?
我有一个有文字documnt的应用程序让我们称它们为“笔记”实体。每个票据实体具有以一对一的关系与其相关联的“统计”实体。 notes实体保留单独的wordCount和lineCount属性,而stats实体将数据属性保存在上述NSString格式的数据集中。
原因是我希望能够在启动时启动notes对象,而无需在app启动时加载大量数据。
这是保留此类数据的最佳方式吗?由于缺乏更好的词汇,对我来说似乎有点怪气。我阅读了有关Core Data的苹果文档,观看了一些教程,包括斯坦福大学的讲座,并通过Google-fu技术进行了搜索,但找不到任何内容。这是我第一次使用Core Data,所以我相信我只是很难实际运用我所学到的东西。
如果我错过任何事情,请随时打电话给我,因为我在走路时写这篇文章。提前谢谢。
答案 0 :(得分:1)
尝试捕获几个嵌入式问题:
将每个会话数据保存为与“timestamp - wordCount”和“timestamp - lineCount”类似的格式的NSString属性以便以后解析会更容易吗?
可能更容易?但NSString
不是存储元素数据的好方法。
这是保留此类数据的最佳方法吗?
您指的是将有关文档的元数据打包到NSString
;我确信它会起作用 - 但最好将元数据封装在自己的类中 - 或者像你建议的核心数据一样。
我的建议是前者;也就是说,我会将您正在打包的数据放入NSString
并从中创建一个类。 Apple文档直截了当地声明Core Data不是入门级技术。对于模型层的实现,它通常是一个很好的解决方案;但不总是。在您的情况下,您可以做一些简单的事情:
@interface NoteMetadata:NSObject
@property (nonatomic, assign) NSInteger wordCount;
@property (nonatomic, assign) NSInteger lineCount;
@property (nonatomic, strong) NSDate *timeStamp;
@end
等等,那么也许你的Note对象可以包含构成会话的这些NoteMetadata
对象的数组。