此 NSPersistentStoreCoordinator 没有持久存储(架构不匹配或迁移失败)。无法执行保存操作

2024-03-09

我正在开发一个使用 x.x.xcdatamodel 的应用程序。现在,在同一个 x.x.xcdatamodel 中,我在其中一个实体中添加了一个属性。应用程序崩溃,显示消息“此 NSPersistentStoreCoordinator 没有持久存储(架构不匹配或迁移失败)。它无法执行保存操作。”。我尝试了很多方法,并且还使用轻量级迁移来处理这种情况,但这也不起作用。下面是我的代码:

    - (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (__persistentStoreCoordinator != nil)
    {
        return __persistentStoreCoordinator;
    }

    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"myApp.sqlite"];

    NSError *error = nil;
    __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

    NSDictionary *options = @{
                              NSMigratePersistentStoresAutomaticallyOption : @YES,
                              NSInferMappingModelAutomaticallyOption : @YES,
                              NSSQLitePragmasOption : @{@"journal_mode" : @"DELETE"}
                              };

    if(![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
    {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    }

    return __persistentStoreCoordinator;
}




- (BOOL) saveContext
{
    @synchronized (_localStorage) {
        //NSLog(@"----------------------------Save context called---------------------------");
        BOOL result = TRUE;
        NSError *error = nil;
        NSManagedObjectContext *managedObjectContext = self.managedObjectContext;

        if (managedObjectContext != nil)
        {
            //Crashes here at this line.
            if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error])
            {
                NSLog(@"----------------------------Save context failed---------------------------");
                result = FALSE;
                NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            }
        }

        //NSLog(@"----------------------------Save context completed---------------------------");

        return result;
    }
}

我在这里错过了什么吗?或者即使我在实体中添加单个属性,我是否也必须执行完整的迁移?提前致谢。


您不必在这里自己进行迁移。你do必须添加新版本的数据模型。您无法编辑xcdatamodel并期望 Core Data 仅使用新版本。您需要保留现有模型,创建新版本并进行更改在新版本中。您必须始终拥有与持久存储文件匹配的模型版本。

您可以通过选择创建新版本xcdatamodel在 Xcode 的文件浏览器中打开模型文件,转到“编辑器”菜单,然后选择“添加模型版本...”

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

此 NSPersistentStoreCoordinator 没有持久存储(架构不匹配或迁移失败)。无法执行保存操作 的相关文章

  • Xcode -- 让force_load 使用相对路径

    某些库在链接到 Xcode 项目时需要 all load 链接器标志 但是 如果库之间存在符号冲突 这会导致链接器错误 解决方案是使用 force load 它可以有效地让您在某些库上使用 all load 但不能在其他库上使用 然而 这反
  • UICollectionView 单元格旋转后不水平

    我有一个 UICollectionView 带有一个用于创建单元格的按钮 该单元格应按创建顺序显示 在空间允许的情况下 横向和纵向 1 2 3 4 文本视图受到灵活宽度的限制以填充单元格 单元格的大小取决于设备和旋转 每行允许 1 2 3
  • Swift UITextFieldShouldReturn 返回键点击

    iOS8 Xcode6 斯威夫特 使用 Swift 如何捕获 返回 按钮上的点击 以下链接中的文档指定使用textFieldShouldReturn方法 Swift optional func textFieldShouldReturn t
  • UITextField 清除按钮不显示

    I want to show a clear button always in a UITextField I have tried to both set this in xib Interface Builder and in code
  • 删除核心数据中的对象

    我的核心数据模型中有一个实体 如下所示 interface Selection NSManagedObject property nonatomic retain NSString book id property nonatomic re
  • UIWebView 中横向模式的 Youtube 视频

    我的申请不是为了风景而做的 但是当我打开我的 YouTube 频道时UIWeb视图和一个用户发布视频 它出现在肖像中 我想让它在用户旋转 iPhone 时以横向模式显示 How to 启用横向模式如本例所示 我知道有一些 肮脏的黑客 可以做
  • 在 iOS 应用程序中处理数据(选择什么?NSData、CoreData、sqlite、PList、NSUserDefaults)

    当我开发 iPhone 应用程序 时间跟踪器 待办事项列表等 时 我永远不知道处理数据的最佳方式是什么 有一次我使用了 plist 下次使用 sqlite 或 CoreData 您如何决定什么最适合您的项目 只谈数据管理 例如 如果您想开发
  • Xcode 不再识别测试

    我已经解决这个问题几天了 但我没有任何想法 我在 Xcode 中使用单元测试 效果很好 突然 Xcode 不再识别我的测试 如果我进入测试面板 它会显示我的测试为零 我其实有13个 运行单独测试或某些课程的能力现已消失 它不会在编辑器区域的
  • 无法启动进程启动失败:等待应用程序启动超时

    我正在尝试在设备上启动我的应用程序 它在模拟器上成功启动 项目清单 我用的是7 1 SDK Xcode 5 该设备是 7 1 iPhone 4S 我努力了 Clean 清理构建文件夹 删除应用程序 断开 重新连接设备 启动装置 重新启动 X
  • 使用“对多”关系从 NSFetchedResultsController 派生 UITableView 部分

    我的核心数据模型如下所示 article lt gt gt category 是否可以远程使用NSFetchedResultsController生成一个看起来像这样的 UITableView Category 1 Article A Ar
  • 请求开发者证书的分发配置文件

    使用 Xcode 9 1 构建 iOS 应用程序后 我尝试将其存档 但我收到以下错误消息 配置文件 MyAppProfile 不包括签名证书 iPhone Developer My Name X1YZ2AB3CD 仔细观察后 我发现 MyA
  • 是否可以从 NSFetchedResultsController 获取最新快照

    从 iOS 13 开始 保持UITableView与一个同步NSFetchedResultsController好像是有快照的 每当 ManagedObjectContext 报告添加 删除或更新时 NSFetchedResultsCont
  • Xcode 中的“使用不间断空格 (U+00A0) 代替常规空格”警告

    When typing a space character in Xcode a warning appears sometimes 使用不间断空格 U 00A0 代替常规空格 早期的 Xcode 版本显示以下消息 将 Unicode 字符
  • 如何在核心数据中应用group by子句

    我正在实现 tableview 我想在 tableview 部分显示类名 并且我正在尝试获取 使用核心数据实现的数据库中的类值 我想使用类名上的 group by 子句获取数据 这是我的代码 AppDelegate appDelegate
  • 主队列上的dispatch_sync 与dispatch_async

    请耐心等待 这需要一些解释 我有一个类似于下面的函数 上下文 aProject 是一个名为 LPProject 的核心数据实体 其数组名为 memberFiles 其中包含另一个名为 LPFile 的核心数据实体的实例 每个 LPFile
  • iOS:如何在 UITabBarItem 中添加下划线

    我正在使用一个应用程序 我需要在其中添加下划线UITabbarItem 所以我想在所选下添加下划线UITabbarItem在默认情况下UITabbarcontroller of iOS 我已经创建了子类UITabbarcontroller但
  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau
  • 该捆绑包无效。 Apple 目前不接受使用此版本操作系统构建的应用程序。 (小牛队)

    我首先说我已经安装了 Mavericks 我很好奇看到新功能 最好还是等待 因为 显然 没有什么耸人听闻的变化 无论如何 我正在尝试将我的应用程序提交到应用程序商店 但经过与代码签名的真正艰苦斗争后 我最终得到了以下消息 此捆绑包无效 Ap
  • 使用 PRODUCT_NAME 构建 cocoapods 项目的 xcodebuild 失败

    我可以使用以下命令构建我的 Cocoapods 项目 base basename xcworkspace xcworkspace xcodebuild sdk iphonesimulator ios version CONFIGURATIO
  • 块执行后变量返回 null

    我正在调度一个队列来在单独的线程上下载一些 flickr 照片 在 viewWillAppear 中 当我记录块内数组的内容时 它完美地显示了所有内容 dispatch queue t photoDowonload dispatch que

随机推荐

  • 如何将 OpenCV Mat 划分为矩形子区域?

    我想划分一个简单的Mat 200x200 位于不同区域 10x10 我做了两个循环 然后创建了一个Rect我在其中指出每次迭代中我想要的变量 x y width height 最后 我将图像的该区域保存在vector of Mats 但我的
  • 如何每天自动备份Firestore数据库

    我想每天备份 Firestore 数据库 我的数据结构是这样的 usersCollection uid defaultCurrency USD name something dreamsCollection name image 我看过fi
  • 压倒一切!重要的风格

    标题几乎概括了这一点 外部样式表有以下代码 td EvenRow a display none important 我尝试过使用 element style display inline and element style display
  • NetworkStream 正在读取不应该存在的数据

    我在 NetworkStream 从套接字缓冲区读取不应该存在的数据时遇到问题 顺便说一句 我正在发送非常大的缓冲区 现在我刚刚在本地主机上进行测试 这是我读取数据的方式 前 4 个字节包含消息的长度 然后我只读取 4096 个块 直到达到
  • 如何配置 husky pre-push hook 来运行测试

    我正在尝试配置 husky 预推送挂钩以在推送之前运行测试 一切看起来都很好 跑完后git push origin钩子被触发并且测试正在运行 问题是 当测试完成后 即使操作成功 推送也会被冻结 并且没有其他事情发生 包 json scrip
  • SQL Server - 列顺序重要吗?

    在性能和优化方面 在 SQL Server 中构建表时 列的排列顺序重要吗 我的主键是第一列有什么关系吗 构建多字段索引时 列是否相邻有关系吗 Using ALTER TABLE syntax is it possible to speci
  • 正则表达式匹配 img 标签中的任何 url

    我需要一个可以匹配 img src 标签中任何 url 的正则表达式 URL 可以是 images temp jpg 或 temp1 jpg 甚至 http www example com temp jpg i 123 或其他任何内容 我写
  • 使用带参数的资源文件

    我的问题是关于 c 中的资源文件 resx 字符串 部分 我用它来存储我的消息 我想知道如何使用带参数的资源条目的 值 例子 名称 显示单元格值 值 单元格上的值 和行 是 我想填写 具有不同值的参数 谢谢你 您可以对资源文件中存储的字符串
  • 确保 Spring Quartz 作业执行不重叠

    我有一个 Java 程序 每 20 秒从 Spring Qquartz 执行一次 有时只需要几秒钟即可执行 但随着数据变大 我确信它会运行 20 秒或更长时间 当一个实例仍在执行时 如何防止 Quartz 触发 触发作业 解雇两个在数据库上
  • 在两个视图控制器之间进行 Segue

    在我的故事板 如上所示 上 我有一个 ViewController 它包含一个带注释的 MKMapView 这些注释包含一个公开图标 点击该图标时 应该将用户导航到另一个 ViewController 为此 我在视图控制器之间创建了一个推送
  • 有没有办法评估带有液体标签的字符串

    我需要提供页面内容参考列表 它应该包含页面上各部分的参考 我能看到的唯一方法是使用page content并解析它 但我偶然发现了数据评估的问题 例如我可以从page content site data sdk language SDK但没
  • Java 中比较版本字符串的有效方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何比较 Java 中的两个版本字符串 https stackoverflow com questions 198431 how do you compare two version strings
  • Delphi解析xml文件

    首先 我对编码和 Delphi 很陌生 已经断断续续使用了几个月了 下面是一个示例 xml 文件 我想要实现的是解析 xml 文件的每个 名称 部分中的所有数据 我以前从未这样做过 一些指导将不胜感激 我在这里看过与此类似的其他问题 但我无
  • 在 Google Apps 脚本中异步运行函数

    我正在制作一个调用 GAS 函数的 Slack 机器人 一切正常 只是 Slack 显示错误消息 因为它在调用 API 时只等待 3 秒响应 任何人都可以帮助我弄清楚如何异步运行 everyDay2 以便我可以在完成之前返回响应 我尝试过
  • Vue/nuxt - 如何从子组件访问父级引用

    我有一个全局确认模式组件 已在我的默认布局文件中注册 然后 我会尝试从 page index vue 访问它 但调用 this refs 只会返回一个空对象 将模式组件放在我的pages index vue 中会起作用 但它会破坏我的全局确
  • 如何通过全客户端实施来保护 Firebase?

    我有一个非常简单的 Firebase 应用程序 所有操作都在客户端通过 JavaScript 进行读取和写入 我这边没有用户帐户或服务器端应用程序 现在 任何查看我的 JavaScript 的人都可以复制我的 Firebase URL 并拥
  • 计算相对于某个根的路径 - Path.Combine 的逆

    有没有可靠的方法来计算 Path Combine 的逆 Path Combine c folder subdirectory something txt 可能会返回类似 c folder subdirectory something tex
  • PHP:将类的所有函数包装在子类中

    使用 PHP 库类 我想将其所有公共函数包装在一个子类中 大致如下 class BaseClass function do something some stuff function do something else other stuf
  • 如何在堆栈导航器(react-navigation 2.X)中卸载以前安装的组件?

    这是我的应用程序的简化流程 login 主页 有彩色图表或创建图表的选项 colorInDiagram 用户为图表的各个部分着色 付款 主页 返回主页 现在 在此之后 如果用户决定再次为图表着色 他 她将从主页中选择该特定选项 并且流程将照
  • 此 NSPersistentStoreCoordinator 没有持久存储(架构不匹配或迁移失败)。无法执行保存操作

    我正在开发一个使用 x x xcdatamodel 的应用程序 现在 在同一个 x x xcdatamodel 中 我在其中一个实体中添加了一个属性 应用程序崩溃 显示消息 此 NSPersistentStoreCoordinator 没有