3

我正在创建一个由几个 UITableViewControllers 组成的简单 iOS 应用程序。视图控制器中显示的信息将来自一个 xml 文件(我将包含在项目的资源中或直接来自 Dropbox 或 iCloud)。xml 文件的内容将基于用户输入。

几点注意事项:

数据是基于用户输入的,不是静态的。理想情况下,应用程序会将数据从 xml 文件加载到“核心数据”中。该应用程序的每次额外运行只会从一些核心数据源(我还不完全熟悉)中提取数据,而不是从文本文件中重新加载它。

现在我正在使用 XMLwriter 生成简单的 xml 文件

请指导我谢谢

4

1 回答 1

2

这里最好的模式似乎是使用 XML 文件来“播种”您的 Core Data 数据库。这只是第一次发生。之后,您将不再使用您的 XML 文件,而只需更新和同步您的核心数据存储。

这比生成 XML 要好得多。XML 文件(如属性列表)的问题在于,您必须为每个小的增量更改编写整个文件。如果您同步到某个在线商店,这可能需要太多时间才能实用。

假设您可以从 XML 文件中获取基础对象,只需遍历对象并一一插入 Core Data。

for (NSDictionary *dict in xmlArray) {
   Entity *newObject = [NSEntityDescription 
        insertNewObjectForEntityForName:@"Entity"
                 inManagedObjectContext:self.managedObjectContext]; 
   newObject.attribute1 = [dict objectForKey:@"attribute1"];
   newObject.attribute2 = [dict objectForKey:@"attribute2"];
   //  etc...
}
[self.managedObjectContext save:nil]; 
于 2013-04-04T07:05:28.267 回答