NSManagedObjectModel 版本标识符

2023-12-13

NSManagedObjectModel -versionIdentifiers 的文档说,

Core Data 框架不为模型提供默认标识符,也不在运行时依赖该值。对于在 Xcode 中创建的模型,您可以在模型检查器中设置此值。

我不确定,但我认为设置版本标识符可能会在我对模型迁移策略类进行编码时有所帮助。有谁知道如何在 Xcode 中设置这些标识符?我已经探索了相当多的地方但没有成功。

Thanks.


好吧,这种方法最终对我没有帮助。我使用以下代码解决了核心数据迁移调试问题:

    NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Spark.sqlite"]];

    NSError *error = nil;
    NSDictionary *sourceMetadata = [NSPersistentStoreCoordinator metadataForPersistentStoreOfType:NSSQLiteStoreType
                                                                    URL:storeUrl
                                                                    error:&error];

    if (!sourceMetadata)
        NSLog(@"sourceMetadata is nil");
    else
        NSLog(@"sourceMetadata is %@", sourceMetadata);

另一方面,我现在才找到了我原来问题的答案,fwiw。

如果您转到项目窗口并选择 .xcdatamodel 文件并“获取信息”,那么大多数时候您将获得“文件“Xxx.xcdatamodel”信息”窗口 - 包含“常规”、“目标”、“构建” ”和“评论”选项卡。 (是的,“大多数时候”部分让我感到困惑。)

但是,如果您再次选择 .xcdatamodel 文件并“获取信息”,您将(可能)得到一个非常不同的检查器 - 一个名为“数据模型“Xxx”信息”的检查器。该窗口有两个选项卡:“外观”和“版本控制”。版本控制选项卡允许您设置模型版本标识符。

底线:在 Xcode 中设置模型版本标识符类似于进入平台 9 3/4 - 但与 9 3/4 不同,一旦你到达那里,你并不清楚为什么你想要在那里。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSManagedObjectModel 版本标识符 的相关文章

  • 跳过痛苦的 Core Data 迁移并迁移到新的数据模型

    当我什至不关心旧数据时 我花费了大量时间将核心数据整理到新的迁移中 有没有一种方法可以删除所有现有数据并跳转到新的数据模型 而不是每次更改数据模型时都处理映射模型的麻烦 是的 只需删除商店文件并重新创建即可 我经常 至少在开发过程中 让我的
  • 如何为现有核心数据实体添加更多属性?

    我有一个正在使用核心数据的项目 我需要向现有实体 列 添加更多属性 列 如果我手动将属性添加到数据模型应用程序崩溃 这是由于我用来将数据插入表的上下文保存之前 请帮助 谢谢 所以我的问题是我不知道这个持久存储协调器代码去了哪里 事实证明它是
  • 删除核心数据中的对象

    我的核心数据模型中有一个实体 如下所示 interface Selection NSManagedObject property nonatomic retain NSString book id property nonatomic re
  • 将实体添加到核心数据

    我们有一个使用核心数据的应用程序 在下一个版本中 我想向现有实体添加一个新实体 只需添加新的然后从软件中填充它就可以了吗 还是有什么我必须考虑的事情 迁移有几种类型 最简单的是使用推断映射模型的轻量级迁移 这意味着您只需告诉它进行迁移 软件
  • EXC_BAD_INSTRUCTION 的 CoreData 错误(代码=EXC_I386_INVOP,子代码=0x0)

    当我打开并发调试开关 com apple CoreData ConcurrencyDebug 1 来跟踪 CoreData 的所有并发问题时 在调用 insertingNewObjectForEntityForName 时不断发生崩溃 Xc
  • 删除 Swift 3 中 Core Data 实体中的所有数据

    有没有办法批量删除核心数据中所有实体中存储的所有数据 我在某处读到 在 iOS 9 或 10 中 苹果引入了一种批量删除的方法 但我似乎找不到任何关于它的好信息 最终 我只需要一个遍历实体并删除其中所有数据的函数 看起来它应该很简单 但事实
  • 迁移大型 Core Data 数据库崩溃

    我有一个将产品存储在核心数据文件中的应用程序 这些产品包括作为 可转换 数据的图像 现在我尝试使用轻量级迁移添加一些属性 当我使用一个小型数据库对其进行测试时 它运行良好 但当我使用一个接近 500 MB 的大型数据库时 应用程序通常会因内
  • 使用按计数分组的核心数据获取属性

    这是我想为 Core Data 编写的查询的 SQL 版本 SELECT Group Name COUNT Item Name FROM Item INNER JOIN Group ON Item GroupID Group ID GROU
  • Excel 工作表到 iPhone 数据 -- A 点到 B 点

    尽可能简单 我有一个非常简单的 Excel 电子表格 只有 1000 多条记录 我想将其用作 iPhone 应用程序的静态数据源 最好的进攻计划是什么 我心中的可能性 1 直接读取XLS作为数据源 是否有Obj C库用于此 2 将XLS 转
  • 现有的和未输入错误的密钥的 NSUnknownKeyException

    我得到以下输出 Terminating app due to uncaught exception NSUnknownKeyException reason
  • 错误:更改核心数据模型后架构armv7的重复符号

    我有一个使用核心数据框架的应用程序 我工作得很好 我刚刚更改了数据模型 向一个实体添加一个属性 当我尝试构建它时 出现错误 duplicate symbol OBJC METACLASS AccountFolder in Users XXX
  • 核心数据迁移失败,并显示“找不到源存储的模型”,但存在源的 ManagedObjectModel

    我有一个使用 core data 的可可应用程序 它现在是其托管对象模型的第四个版本 我的托管对象模型包含抽象实体 但到目前为止 我已成功通过创建适当的映射模型并使用 addPersistentStoreWithType configura
  • 有什么方法可以限制核心数据中的重复条目吗?

    我一直在尝试在核心数据中添加对象 所以 我希望它不应该允许核心数据存储中出现重复的条目 怎么做 这是我与保存数据相关的代码 IBAction save id sender if name text isEqualToString addre
  • 编译托管对象模型时有什么方法可以忽略丢失的反向警告吗?

    标题几乎包含了问题 我们发布了一个应用程序 其数据模型的逆配置不正确 我们在下一个版本中使用新版本的数据模型修复了这些问题 但 Xcode 在编译以前的数据模型版本时仍然显示警告 我不想破坏将文档从旧数据模型迁移到新数据模型的能力 并且我非
  • Core Data 与 Sqlite 以及性能

    我想知道是否有人有关于已在 3 0 SDK 中转换为 Core Data 的旧 sqlite 应用程序之间的性能差异的真实数据 我怀疑核心数据在底层只是使用 sqlite 并且为了方便成本而增加了一些开销 但我想我还是会问 Core Dat
  • iOS 5 核心数据冻结

    我尝试做以下简单的事情 NSArray entities context executeFetchRequest inFetchRequest error fetchError 没有什么花哨 但这在 iOS 5 中冻结 在 iOS 4 中工
  • 核心数据在没有明显原因的情况下恢复到之前的状态

    基于 Core Data 的 iOS 应用程序的一些客户报告称 他们偶尔会丢失数据 这些报告非常奇怪 这就是我想询问您对此的看法的原因 客户报告说 当他们在一段时间 几分钟 几小时或第二天 后重新打开应用程序时 他们的一些数据会丢失就像底层
  • NSPredicate 查询不包含特定字符串

    对这个问题进行了高低查找 但找不到我的答案 我正在查询核心数据以查找不等于指定字符串的所有记录 例如 所有不等于当前会话ID的记录 我已经尝试过这些但无济于事 NSPredicate predicate NSPredicate predic
  • 删除后台 moc 中的对象然后在主 moc 中刷新它会导致 NSFetchedResultsController 更新崩溃

    我遇到了一个NSObjectInaccessibleException我无法理解 Terminating app due to uncaught exception NSObjectInaccessibleException reason
  • IOS Coredata 兼容 IOS 9 和 ios 10

    您好 我正在开发一个适用于 IOS 10 和 9 xcode 8 的应用程序 创建新实体对象的正确方法是什么 新的IOS 10有这个代码 var newEvent Event context context 我们如何让这段代码同时适用于 I

随机推荐