3

我想发送静态只读数据以在我的核心数据模型中使用。问题是存在明显不同的持久存储类型,我不知道这些类型的格式是否应该是不透明的,或者我是否应该能够手动构建它们。

现在我只有一个 plist,它非常小(可能总共 30 个条目)。

我应该在首次安装应用程序时编写代码以将 plist 导入我的数据存储,还是有什么方法可以提供手动构建的数据存储文件的初始版本?

(我正在使用默认的 sqlite 持久存储。)

4

3 回答 3

3

我不会尝试手动构建它,但您当然应该执行导入并保存最终的 Core Data SQLite 文件以随您的应用程序一起提供。

我计划编写一个小型 mac 实用程序(使用相同的数据模型)来为我的 iPhone 应用程序生成 Core Data SQLite 文件(导入实际上来自 Web 服务器)。然后,我将该实用程序保存的文件添加到我的 iPhone 应用程序的项目中。

于 2010-01-07T04:24:27.007 回答
1

为了回答我自己的问题,我注意到 Recipes 示例代码应用程序带有一个默认的 sqlite 后备存储:

// If the expected store doesn't exist, copy the default store.
if (![fileManager fileExistsAtPath:storePath]) {
    NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@"sqlite"];
    if (defaultStorePath) {
        [fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
    }
}

但是话又说回来,出于另一个目的,它在 plist 文件中带有一些静态只读数据!(TemperatureData.plist)所以去图......

于 2010-01-07T04:50:34.490 回答
0

知道这一点的人不多,但您实际上可以在 OSX 上使用核心数据,然后在 iOS 上使用该存储文件。所以基本上编写一些使用完全相同的模式和模型对象的代码(它们都应该在 OSX 上编译和工作)。

如果您了解 iOS SDK,OSX 开发并不难掌握 :-)

高温高压

于 2012-10-22T10:22:55.593 回答