0

我无法掌握此功能的最佳实现方式。我的最终目标是按会话从笔记文档中获取统计信息,例如字数和行数(会话是打开文档并对其进行编辑然后关闭它的一个实例)。然后获取这些数据并随时间绘制图表。我找不到任何与以这种方式使用核心数据相关的东西。我正在使用 NSFetchedResultsController 来配合斯坦福发布的精彩 iOS 讲座。

这可能只是我对核心数据的巨大误解。将每个会话数据以与“timestamp - wordCount”和“timestamp - lineCount”类似的格式保存为NSString属性以供以后解析会更容易吗?

我有一个应用程序,它有一个文本文档让我们称它们为“笔记”实体。每个笔记实体都有一个以一对一关系与之关联的“统计”实体。notes 实体保留单独的总 wordCount 和 lineCount 属性,而 stats 实体将数据属性保留在上述 NSString 格式的数据集中。

原因是我希望能够在启动时启动 notes 对象,而不必在应用启动时加载大量数据。

这是保留此类数据的最佳方式吗?由于缺乏更好的词,对我来说似乎有点笨拙。我阅读了有关 Core Data 的苹果文档,观看了包括斯坦福讲座在内的一些教程,并通过 Google-fu 技能进行了搜索,但找不到任何东西。这是我第一次使用 Core Data,所以我相信我只是很难真正应用我学到的东西。

如果我错过了什么,请在我边走边写这篇文章时随时打电话给我。提前致谢。

4

1 回答 1

1

试图捕捉几个嵌入式问题:

将每个会话数据以与“timestamp - wordCount”和“timestamp - lineCount”类似的格式保存为NSString属性以供以后解析会更容易吗?

更容易,可能吗?但NSString不是存储元素数据的好方法。

这是保留此类数据的最佳方式吗?

您指的是将有关文档的元数据打包到NSString; 我相信它会起作用 - 但可能更好地将元数据封装在它自己的类中 - 或者像你建议的 Core Data 那样。

我的建议是前者;也就是说,我会将您打包的数据放入 aNSString并从中创建一个类。Apple 文档直接指出 Core Data 不是入门级技术。它通常是实现模型层的一个很好的解决方案;但不总是。在你的情况下,你可以做一些简单的事情:

@interface NoteMetadata:NSObject

@property (nonatomic, assign) NSInteger wordCount;
@property (nonatomic, assign) NSInteger lineCount;
@property (nonatomic, strong) NSDate *timeStamp;

@end

NoteMetadata等等,那么也许您的 Note 对象可能具有组成会话的这些对象的数组。

于 2012-09-28T02:23:46.033 回答