iOS 8 CoreData 问题:recordChangeSnapshot:forObjectID:: 录制时全局 ID 可能不是临时的

2023-12-22

我正在将我的应用程序从 iOS 7 迁移到 iOS 8,当我尝试保存核心数据上下文时,我在 Xcode 中收到以下错误。 iOS 7 和 Xcode 5 中不存在此错误。它会在下面的行中抛出异常

NSError * saveError = nil;
if(![self.managedObjectContext save:&saveError])
{ // crash on save context line.
   //error message.
}

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“recordChangeSnapshot:forObjectID ::全局ID在录制时可能不是临时的。 我正在主线程上接收数据并尝试将其保存在核心数据中。 以下是应用程序委托类中托管对象上下文的代码:

 - (NSManagedObjectContext *)managedObjectContext
        {
            if (_managedObjectContext != nil) {
                return _managedObjectContext;
            }

            NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
            if (coordinator != nil) {
                _managedObjectContext = [[NSManagedObjectContext alloc] init];
                [_managedObjectContext setPersistentStoreCoordinator:coordinator];
            }
            return _managedObjectContext;
        }

        // Returns the managed object model for the application.
        // If the model doesn't already exist, it is created from the application's model.
        - (NSManagedObjectModel *)managedObjectModel
        {
            if (_managedObjectModel != nil) {
                return _managedObjectModel;
            }
            NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MCRM" withExtension:@"momd"];
            _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
            return _managedObjectModel;
        }

        // Returns the persistent store coordinator for the application.
        // If the coordinator doesn't already exist, it is created and the application's store added to it.

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

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

            NSError *error = nil;
            _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
            if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {

                NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
                abort();
            }

            return _persistentStoreCoordinator;
        }

        and it crash in data manager class :

        NSError *error = nil;
        if (![self.managedObjectContext save:&error]) {  
             NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
         }

代码在 iOS7 和 Xcode5.1 中工作正常。 我已经尝试使用线程限制(-[NSManagedObjectContext init])来替换为 [NSManagedObjectContext initWithConcurrencyType:] 到 NSConfinementConcurrencyType 和 NSMainQueueConcurrencyType 以及 PerformBlockWithWait^{} 代码注入,但仍然面临问题。


None

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

iOS 8 CoreData 问题:recordChangeSnapshot:forObjectID:: 录制时全局 ID 可能不是临时的 的相关文章

  • 从xcode上触摸屏的坐标获取ImageView的像素数据?

    单击视图并从视图内的图像获取正确的像素数据似乎存在问题 func handleTap gestureRecognizer UIGestureRecognizer print You tapped at gestureRecognizer l
  • 如何以编程方式设置设备(UI)方向?

    希望屏幕 UI 上的所有内容都能够从横向左向右旋转 反之亦然 我该怎么做呢 这是私人的吗 我知道 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation inte
  • UILocalNotification 在后台 10 分钟后不提示

    In didFinishLaunchingWithOptions调用函数的定时器循环httpRequest每 1 分钟间隔一次 BOOL application UIApplication application didFinishLaun
  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • AFNetworking XML 请求问题

    我在用着AFNetworking 2使用 JSON 响应 它工作正常 现在我必须将其转换为 XML 而不是使用 JSON 因为服务器响应是 XML 格式的 在我搜索之后 我找到了这段代码 但它不起作用 与 Charles 我发现请求是错误的
  • 核心数据:重命名属性,而不会导致用户及其当前数据出现问题

    我只想为我的应用程序的新版本重命名并在表上添加属性 并且如果应用程序已安装 我想保留数据 首先我只是设置选项 let options NSMigratePersistentStoresAutomaticallyOption true NSI
  • locationOfTouch 和 numberOfTouches

    你好 我有这个识别器 设置为 2 次触摸 但它只返回一个 而不是两个 CGPoint void gestureLoad UIGestureRecognizer recognizer recognizer UITapGestureRecogn
  • CALayer边框奇怪问题

    我正在向 CALayer 添加边框 但有一些奇怪的行为 在我应用的边框之后出现模糊边框 参见屏幕截图 这是我的代码 void configureLabel self hidden YES self textAlignment NSTextA
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 为什么 iOS 启动屏幕很慢?

    我的 iOS 应用程序启动屏幕大约需要 3 5 秒 我有一张将在启动屏幕后加载的地图 我的用户必须等待启动屏幕加载 然后再等待 3 秒才能加载地图 有没有办法最大限度地减少启动屏幕时间 基本上这种延迟意味着you在启动过程中做了一些非常错误
  • 如何让UITextView背景线与文字对齐?

    我正在尝试绘制 UITextView 的背景线 这是我用来画这些线的代码 CGContextBeginPath context CGContextSetStrokeColorWithColor context self horizontal
  • 用户验证 Facebook 后未调用应用程序打开 Url 方法

    我已将 ios 应用程序中的 facebook 升级到 3 0 并使用提供的代码https developers facebook com docs howtos login with facebook using ios sdk http
  • UIViewControllerAnimatedTransitioning:旋转更改后黑屏片段

    我已经创建了一个视图控制器转换 只要我不更改设备方向 一切都正常 图 1 显示了应有的屏幕 然后我切换到下一个视图控制器 在其中更改方向 现在我回到第一个视图控制器并再次切换方向 然后我得到的结果如图 2 所示 出现黑色边框 请不要介意屏幕
  • 调整 UIImage 的大小而不将其完全加载到内存中?

    我正在开发一个应用程序 用户可以在其中尝试加载非常非常大的图像 这些图像首先在表格视图中显示为缩略图 我的原始代码会在大图像上崩溃 因此我重写它以首先将图像直接下载到磁盘 是否有一种已知的方法可以调整磁盘上图像的大小 而无需通过以下方式将其
  • 在 UIWebView 中播放 Facebook 视频

    有谁知道如何在 Facebook 上播放视频UIWebView 我的应用程序将视频上 传到 Facebook 并检索视频的网址 我想将此网址嵌入到UIWebView播放 我已经为 youtube 解决了这个问题 但没有为 Facebook
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • 叠加 SKScene 未显示

    我正在尝试将 SKScene 覆盖在 SCNScene 上 当我在模拟器和 iPhone6 上运行我的应用程序时 overlayScene SKScene 按预期显示 但是当我尝试在 iPhone5 上运行它 尝试了 2 个不同的设备 时
  • CoreBluetooth:检测设备超出范围/连接超时

    我正在设计一个 iOS 框架来处理多个 BLE 设备 均为同一类型 目前一切都运行良好 除了一件事 客户想要一个包含可用设备的列表 但是 我如何检测过去发现的设备何时不再可用 当我尝试连接到不再可用的设备时 会出现另一个问题 文档说 连接尝
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do

随机推荐

  • 如何获取当前目标蚂蚁的值?

    如何获取当前目标蚂蚁的值 它是否存在一个称为 TARGET 的特殊变量 基于问题 https issues apache org bugzilla show bug cgi id 44980你必须修补 ant 或使用 javascript
  • 解析错误:语法错误,意外的“else”(T_ELSE)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我编辑此代码以在 select 为空时显示消息 并收到此错误 Parse error syntax error unexpecte
  • setX()、setTranslationX()、setY() 和 setTranslationY()

    setX setY 和 setTranslationX setTranslationY 有什么区别 他们是在现有坐标上设置偏移还是设置绝对位置 如果他们设置绝对坐标 会不会与父布局的约束冲突 假设我们有类似的东西 View 1 View 2
  • 将 war 从 S3 部署到 AWS Elastic Beanstalk

    我有2台AWS机器 1 dev ec2 2 prod elastic beanstalk 每次提交后 我都会在 dev machine1 上进行构建和部署 这会生成一个 war 文件 该文件也将使用 s3cmd 工具上传到 S3 存储桶上
  • php的'include'是函数还是语句?

    网络上有很多这两种情况的示例 php 手册说 include 语句 这似乎是矛盾的 如果它是一个语句 它不应该没有括号吗 这两者都有效 include somefile php include somefile php 那么我或其他人应该关
  • 如何判断 Rails 代码是通过 rake 还是 script/generate 运行?

    我有一个有点重的插件 项目符号 配置有 Growl 通知 如果我只是运行 rake 任务或生成器 我不想启用它 因为它在这些情况下没有用 有什么方法可以判断是否是这种情况吗 就这么简单 if rails rake task puts Gue
  • 什么类型的序列化在幕后使用 Wcf?

    我知道 net 中有 3 种类型的序列化 Soap Xml Binary Wcf 指示 DataContract 属性也序列化 但是通过what 二进制不是 我知道 那么通过什么机制 它是为给定端点定义的绑定 它指定了序列化机制 例如 ba
  • python seed() 不保持相同的序列

    我正在使用 random seed 来尝试保持 random sample 与我从列表中采样更多值相同 并且在某些时候数字会发生变化 我认为的一个目的Seed 函数的作用是保持数字相同 这是我做的一个测试 以证明它不会保留相同的数字 imp
  • 编译器在转换整型常量时做什么?

    使用以下宏 define MIN SWORD signed int 0x8000 例如以下表达式 signed long s32 if s32 lt signed long MIN SWORD 预计要做以下检查 if s32 lt 3276
  • 数据表中的字典

    说我有3个Dictionary
  • 应用程序缓存清单+本地存储大小限制

    我正在构建一个可能有大量离线存储需求的应用程序 我想知道是否可以同时使用离线缓存清单 5MB 和本地存储 5MB 来使用 10MB 存储 请注意 这是一个 Intranet 应用程序 因此我们可以控制设备 我已经在 Chrome Firef
  • 没有模糊视图效果的 UIAlertController 操作表

    我在用着UIAlertController对于一些行动 但我不太喜欢模糊视图效果在操作组视图中 参见下面的屏幕截图 我正在尝试消除这种模糊效果 我在网上查了一下 没有找到任何APIUIAlertController这样就可以消除这种模糊效果
  • php + mysql,按名称排序+从特定id开始

    MySQL id name 1 Joe 2 Craig 3 Shawn 4 Ryan 5 Seth PHP a mysql query SELECT FROM table name ORDER BY name DESC 但我想做的是 我想从
  • Firebird 交易计数超出

    我们有一个运行 Firebird 数据库的实现 但出现以下错误 超出实施限制 超出交易计数 执行备份和恢复以使数据库再次可操作 我们知道如何通过使数据库只读 执行备份和恢复以及再次读写来解决此问题 但是我们不太确定导致此问题的原因 我感觉交
  • > 和线程' aria-label='Rust 生命周期与 mpsc::Sender> 和线程'> Rust 生命周期与 mpsc::Sender> 和线程

    我正在创建一个多线程应用程序 在其中创建一个接收通道和一个用于保存发送通道的结构 稍后由实现使用 但是 我通过通道发送的类型具有生命周期规范 这种类型是websocket message Message来自 rust websocket 库
  • 如何在 zenframework 2 上配置学说命令行工具

    我在 zendframework 2 上使用原则 2 我已经正确配置了两者 并且它们都正常工作 不过我想用学说的命令行工具生成实体等 我遵循了学说的说明 并在应用程序的根目录中创建了一个 cli config php 页面 http doc
  • 如何防止 DIV 扩展并占据所有可用宽度?

    在下面的 HTML 中 我希望图像周围的框架能够紧贴 不要拉伸并占据父容器中的所有可用宽度 我知道有几种方法可以做到这一点 包括可怕的事情 例如手动将其宽度设置为特定数量的像素 但是什么是right way Edit 一个答案建议我关闭 d
  • ARRAY_CONTAINS hive 中的多个值

    有没有一种方便的方法来使用 hive 中的 ARRAY CONTAINS 函数来搜索数组列中的多个条目 而不仅仅是一个 所以而不是 WHERE ARRAY CONTAINS array val1 OR ARRAY CONTAINS arra
  • 如何在ios中调整uilabel的角度[重复]

    这个问题在这里已经有答案了 i m creating an iphone app in that application i want to angle the label according to the attached screen
  • iOS 8 CoreData 问题:recordChangeSnapshot:forObjectID:: 录制时全局 ID 可能不是临时的

    我正在将我的应用程序从 iOS 7 迁移到 iOS 8 当我尝试保存核心数据上下文时 我在 Xcode 中收到以下错误 iOS 7 和 Xcode 5 中不存在此错误 它会在下面的行中抛出异常 NSError saveError nil i