can*_*boy 11 iphone json core-data objective-c ios
我的应用程序涉及通过互联网获取大型json文件,然后将其解析为Core Data.
这很好,但是我怎么能把这个已经填充的Core Data数据库版本放到我的应用程序中,所以当它们第一次启动它时它就在那里.并且用户可以决定稍后刷新它.
Abi*_*ern 10
在Ray Wenderlich的网站上有一个关于预加载的合理教程.
通常 - 创建一个单独的项目,将JSON文件解析为核心数据数据库.创建您的真实项目,将Object模型和数据库文件复制到此新项目.
现在,在应用程序启动时,检查文档目录中是否存在数据库,如果不存在,请从应用程序包中复制预先填充的数据库.
确保持久性存储协调器与文档文件夹中的数据库一起使用,而不是应用程序包中的数据库.
2012年6月更新
我在GitHub上有一个名为PromNight的小例子项目,演示了如何使用带有iPad项目和OS X项目的Xcode Workspace为Core Data预加载数据.这使用在两个应用程序之间共享的对象模型,这有助于在预加载时保持同步更改.
Core Data使用后备存储,它本质上是一个sqlite数据库(或者,在Mac OS上,可选地是一个XML文件).您只需将该文件添加到应用程序包中,然后将其与应用程序一起发送.至于将数据导入数据库,这就是我要做的:
我不会手工创建sqlite文件,因为Core Data在幕后做了一些"伏都教",并且搞乱sqlite会破坏事情.此外,我见过开发人员使用多个目标.进口.这样,他们可以在编译器条件下编写代码,然后不必担心项目维护.例如:
#ifdef kImportTarget
//run core data import
#else
// run the Core Data stack setup from an existing file
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2855 次 |
| 最近记录: |