2011-09-24 36 views
0

有关核心数据的两个问题: 1.是否可以查看使用核心数据时存储的实际数据(数据库表)? 2.当使用iPhone模拟器时,我可以通过重置模拟器来删除核心数据分贝。但是,如何在使用真实设备时删除核心数据库?如何查看核心数据表以及如何从实际设备中删除数据

+0

部分回答您的问题在这里:http://stackoverflow.com/questions/4023954/iphone-core-data-simulator http://stackoverflow.com/questions/2811207/how-to-view-existing-数据在核心数据 – Perception

回答

1

您的Mac自带命令行工具sqlite3。您可以使用它来针对核心数据数据库执行查询。不确定是否违反任何许可协议中可能存在的反向工程规则。

您可以在开发过程中方便地删除数据库,方法是从设备中删除应用程序并重新安装。如果您不想通过删除应用程序来完成此操作,则必须在应用程序中编写一些代码才能将其删除。

0

您可以使用任何sqlite工具(包括命令行sqlite3工具)直接查看sqlite存储。但是,(1)核心数据使用一个自定义的未公开的模式,因此查看商店并不能告诉你很多;(2)sqlite存储文件本身的结构与管理对象在内存中的行为方式几乎没有关系。核心数据不是一个SQL包装器。它只是将托管对象分开存储在SQL中。 SQL只是一个选项,Core Data在没有它的情况下工作正常。

要“删除核心数据库”,只需删除持久性存储文件。查看你初始化persistentStoreCoordinator的位置(在Xcode模板中,它在应用程序委托中)。持久存储的URL将在那里。只需关闭核心数据堆栈,然后使用NSFileManager删除存储文件即可。然后重新启动核心数据堆栈。

相关问题