【发布时间】:2011-10-22 22:14:01
【问题描述】:
在我的 iphone 应用程序中使用核心数据时,我将创建 xdatamodel 并且在内部所有数据都将存储在 sqlite 中。在这里,我创建了两个 sqlie 数据库文件(根据我的客户要求),其中填充了所有必要的数据。一种用于管理员用户,另一种用于普通用户。现在我想使用这些 sqlite 文件供 xdatamodel 使用。我怎样才能做到这一点?
【问题讨论】:
在我的 iphone 应用程序中使用核心数据时,我将创建 xdatamodel 并且在内部所有数据都将存储在 sqlite 中。在这里,我创建了两个 sqlie 数据库文件(根据我的客户要求),其中填充了所有必要的数据。一种用于管理员用户,另一种用于普通用户。现在我想使用这些 sqlite 文件供 xdatamodel 使用。我怎样才能做到这一点?
【问题讨论】:
虽然Core Data的默认存储备份策略确实是sqlite,但是建议如果你在使用Core Data的话,还是不要尝试去摆弄它背后的sqlite数据库。尽管这可能是可行的(例如,参见 this guy),但您正在引入可维护性问题(例如,如果 Core Data 内部发生变化)。
更好的方法是在应用程序首次启动时将数据加载到 Core Data 存储中。您可以通过将初始数据存储为 sqlite、plist、JSON 或任何适合您的应用程序包的方式来做到这一点。如果您采用这种稳健的方法,事情就不会在未来某个未知时间随机中断。
【讨论】:
你不能,至少不是你想的那样。如果您确实需要使用这些数据库,则必须将它们包含在您的应用程序包中,并在首次启动时使用核心数据导入数据。
另一个可行的选择是完全跳过核心数据并使用 FMDB 之类的东西。
【讨论】: