对于我确定完全是新手失误,我提前表示歉意。 在iPhone模拟器上运行我的iPhone应用-没问题。 但是我第一次在iPhone设备上加载了该应用程序,它看起来好像我正在使用的SQLite数据库(NSManagedObjectContext)未连接或未上载。 该应用程序已安装,但没有数据。 我如何才能全部上传并在设备上工作? 感谢您的帮助。 q

#1楼 票数:1 已采纳

核心数据的第一个规则是永远不要直接接触商店。 应该将其视为黑匣子,并且只能通过Core Data API进行访问。 不支持直接访问数据库,并且可能导致数据损坏。

相反,您应该做的是创建一个普通的桌面应用程序(或者命令行是您刚刚从另一个源导入),然后在其中输入数据。 输入数据后,将sqlite文件复制到您的移动应用程序并将其包含在捆绑软件中。 这样,您就可以从Core Data访问文件。 由于Apple可以并且确实会更改该文件的结构而不会另行通知,因此您的应用程序将成为未来的证明。

更新

如果使用Core Data创建了数据库,则可以获取该sqlite文件并将其添加到iPhone应用程序的Xcode项目中。 Xcode会在编译项目时将其复制到应用程序捆绑包中。

#2楼 票数:0

再深入一点,我发现一个链接可以回答我自己的问题。 因此,任何有相同问题的人都会为我解决问题:

http://ablogontech.wordpress.com/2009/07/13/using-a-pre-populated-sqlite-database-with-core-data-on-iphone-os-3-0/

  ask by Lauren Quantrell translate from so

未解决问题?本站智能推荐:

3回复

在iPhone设备上管理大型数据库:简单的sqlite3编码还是CoreData?

我必须管理具有超过20k记录(数据库大小为25MB)的大型数据库上的表。 我使用SQLITE框架以编程方式使用SELECT \\ INSERT等标准查询。 但是设备上的应用程序非常慢。 当我点击图标时,Default.png冻结10-20秒,应用程序崩溃。 当我在模拟器上运行它(以及从X
3回复

在iPhone上使用CoreData或SQLite? [关闭]

由于CoreData已经可以在OS 3.0中用于iPhone,它是否意味着数据持久性的答案并取代对直接SQLite所有需求? 还有什么理由仍然使用SQLite ? SQLite与CoreData哪些优缺点?
4回复

iPhone上的CoreData是否支持IN谓词?

我正在尝试根据用户定义的类型列表获取一堆特定类型的记录... ...运行时,executeFetchRequest消息抛出异常...... 我做错了什么,或者这真的不受支持?
1回复

iOS:当我关闭iPhone时,使用Core Data的本地存储不持久

我目前正在开发我的第一个iPhone应用程序。 我使用带有sqlite的Core Data框架来保存数据,并且一切运行正常,除非关闭iPhone的电源,否则我发现所有保存的数据都会丢失。 那么这是什么问题呢?
5回复

将sqlite导入coredata

我之前已经将sqlite预先填充的数据库导入到我的coredata项目中,但是现在我已经在3.2.5中创建了一个项目。 xcode,在AppDelegate中将nsurl更改为nstring,所以我同意了,但是现在我的sqlite不会导入到项目中, 如果我将PersistentStore
3回复

填充由CoreData创建的sqlite db

我有一个由CoreData模型自动创建的sqlite数据库,但是我的应用程序无法使用户将数据写入其中,而是希望将程序所需的所有数据预先填充到数据库中。 我的问题是,CoreData创建的sqlite数据库具有未知表和字段,而这些表和字段在我的模型中不存在。 无论如何,我可以用sqlite填充
1回复

CoreData模型版本迁移

我有一个可以成功迁移的模型,但是需要15到20秒。 (显然,这必须作为后台任务而不是在启动时完成,否则我的应用程序将超时。) 无论在何处进行,延迟20秒都是糟糕的用户体验。 我一直在查看核心数据迁移的SQL输出,以了解主要瓶颈在哪里,并且我发现了这个有趣的陈述 该语句似乎需要5
2回复

显示CoreData记录

我使用Coredata创建一个应用程序。 我创建一个XML文件,并将所有数据存储到XML文件中。 然后使用coredata将它们存储到数据库中。 现在,我想查看核心数据中的所有记录。 我的应用程序创建一个sqlite文件。 但是,如果我在sqlite中使用select命令,则不会显