0

我正在做一个项目,我有一个表视图,该表视图当前通过返回 XML 的 Web 请求进行更新。我实施了

-(int)numberOfRowsInTableView:(NSTableView*)tv

 -(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn*)tableColumn row:(int)row

在我的 XML 解析类中,并使用从服务器下拉的数据更新表。

我想保存使用 Core Data 下拉的数据,以便可以保存/加载表。然后稍后在发出 Web 请求时启动应用程序,它只会添加尚未存在的数据。(XML 是按发布日期排序的,所以稍后我会检查哪些发布日期没有从 Core Data 存储中加载,并且只加载较新的条目。)

我将如何实施呢?我是一个非常新的 Cocoa 开发人员,但是已经阅读了整个 Hillegass 的书。非常感谢。

4

2 回答 2

2

您在这里讨论的主要内容有两个:解析 XML 和使用 Core Data 的持久性。

(1) 我在使用NSXMLParser 周围的包装器读取 XML 文件方面取得了一些成功。我听说过但没有使用过更新的库,但这可能会为您提供一个起点。链接的文章对使用情况非常详尽。

(2) 使用 Core Data 做的第一件事是创建一个新的数据模型。从那里,您可以创建一个模型类(带有@dynamic属性),以便通过 Core Data 轻松地与您的数据库交互(使用 NSManagedObjectContext 之类的东西)。你可以在这里得到一个温和的介绍,或者在这里跳得更远一点。

实现 Core Data 并非易事,尤其是对于新开发人员而言。我鼓励您寻找有关特定主题的教程。

于 2010-05-18T01:58:46.260 回答
1

我现在和你在同一条船上 - 我只是在学习 Cocoa,我已经阅读了 Hillegass 的书,并且我正在构建一个从 Web 服务中提取的 Core Data 应用程序。我已经想出了如何让我的应用程序成功地从 Web 服务填充表格视图,但我不知道我正在做的方式是正确的方式还是最佳实践。这是我所做的:

我创建了一个核心数据模型,它与来自 Web 服务的实体具有相同的属性。在 Interface Builder 中,我创建了一个表视图并设置了表列和 Core Data 属性之间的绑定。当应用程序启动时,我从 Web 服务中提取数据,遍历项目并创建新实体。然后,表格视图会自动识别新数据并自行填充。

Pragmatic Programmers的Core Data 书以及这个问题都对我有帮助: JSON to Persistent Data Store (CoreData, etc.)

我还没有解决同步问题(添加新项目,更新现有项目),但我有这个文档书签,当我这样做时:http: //developer.apple.com/Mac/library/documentation/Cocoa/Conceptual/CoreData/Articles /cdImporting.html#//apple_ref/doc/uid/TP40003174

于 2010-05-18T02:55:29.640 回答