OGeek|极客世界-中国程序员成长平台

标题: ios - 仅使用一个托管对象预填充核心数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 20:51
标题: ios - 仅使用一个托管对象预填充核心数据

我只需要使用一个托管对象预填充我的核心数据库。

目前我正在检查 AppDelegate 是否是应用程序运行的第一次,然后添加对象,如下所示:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

BOOL firstTime = [defaults boolForKey"firstTime"];

if (firstTime) {
    [dataManager insertManagedObject:myManagedObect];

    [defaults setBool:NO forKey"firstTime"];
    [defaults synchronize];
}

insertManagedObject 方法检查 managedObject 是否已经在数据库中。

它工作正常,但我担心在未来的应用程序更新中这可能会给我带来一些麻烦,主要是如果我更改我的数据模型并添加一个新的数据模型版本。

最好的方法是什么?



Best Answer-推荐答案


Why don't you execute a fetch request a see if the store already contains that managed object? e.g setting a specific identifier for that managed object...

根据我的评论,您可以针对您的实体设置一个获取请求,并查看商店是否已经有一个实例。

这很容易实现。

如果您需要查询特定对象,您可以为实体设置属性标识符(即 guid)并使用谓词查看具有特定 guid 的对象是否存在。

如果你分享一些其他细节,我可以给你其他建议......

关于ios - 仅使用一个托管对象预填充核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663146/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4