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

2024-05-04

当我什至不关心旧数据时,我花费了大量时间将核心数据整理到新的迁移中。有没有一种方法可以删除所有现有数据并跳转到新的数据模型,而不是每次更改数据模型时都处理映射模型的麻烦?


是的,只需删除商店文件并重新创建即可。我经常(至少在开发过程中)让我的代码尝试自动迁移,如果失败,则清除商店并重新开始:

// storefile is an NSURL to the store file, mom is the NSManagedObjectModel
NSError *err = nil;
NSPersistentStoreCoordinator *psc = [[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:mom] autorelease];
[psc addPersistentStoreWithType:NSSQLiteStoreType
                  configuration:nil
                            URL:storefile
                        options:[NSDictionary dictionaryWithObjectsAndKeys:
                                 [NSNumber numberWithBool:YES],
                                 NSMigratePersistentStoresAutomaticallyOption,
                                 [NSNumber numberWithBool:YES],
                                 NSInferMappingModelAutomaticallyOption,
                                 nil]
                          error:&err];
if (err) // could be more specific about testing this error
{ // assume automigration failed, blow away the store and try again
  err = nil; // log it first!
  [[NSFileManager defaultManager] removeItemAtURL:storefile
                                            error:nil];
  [psc addPersistentStoreWithType:NSSQLiteStoreType
                    configuration:nil
                              URL:storefile
                          options:nil
                            error:&err];
}
// then test err again and give up if there's still a problem
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跳过痛苦的 Core Data 迁移并迁移到新的数据模型 的相关文章

  • 填充 CoreData 创建的 sqlite 数据库

    我有一个由 CoreData 模型自动创建的 sqlite DB 但我的应用程序不会让用户能够将数据写入其中 而是我想用程序所需的所有数据预先填充它 我的问题是 CoreData 创建的 sqlite DB 具有未知的表和字段 这些表和字段
  • 在 swrevealcontroller 之前实现登录屏幕

    我刚刚开始学习 IOS 开发 我已经按照给定的在线教程成功实现了 SWRevealViewController 一切都按预期工作 然后 我决定添加一个登录屏幕 这将是应用程序运行时用户看到的第一个页面 我采取的步骤如下 将 UIViewCo
  • 获取对 iOS 应用程序中最顶层视图/窗口的引用

    我正在创建一个可重用的框架 用于在 iOS 应用程序中显示通知 我希望将通知视图添加到应用程序中其他所有内容的顶部 有点像 UIAlertView 当我初始化监听 NSNotification 事件并添加视图作为响应的管理器时 我需要获取对
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • 为什么使用[ClassName alloc]而不是[[self class] alloc]?

    我正在读马克 达尔林普尔 Mark Dalrymple 的著作在 Mac 上学习 Objective C 仅在协议章节 所以仍然相对较新 并试图弄清楚一些事情 为什么要通过类自己的名称来引用它 如果我有一个叫做Foo 为什么我会想写 比如说
  • 如何确定iPhone铃声的当前级别?

    我正在使用 AVSystemController 将 iPhone 铃声静音 但我不知道如何确定铃声的当前级别 有任何想法吗 PS 是的 我知道使用 AVSystemController 可能会导致应用程序被 App Store 禁止 这不
  • UISplitViewController - 推送模态视图

    使用 UISplitViewController 时推送模态视图的最佳实践是什么 您会从 RootViewController DetailViewController 还是直接从应用程序委托推送 理想情况下 我想要实现的功能是在基于某些条
  • iOS中的performSelector有什么用

    的作用是什么执行选择器 比较 self btnClicked and self performSelector selector btnClicked void btnClicked NSLog Method Called 两者都对我来说工
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • 确定 NSView 是否绘制的正确方法

    有没有正确的方法来确定是否NSView实际上是否在当前视图层次结构中绘制 考虑以下情况 视图完全在屏幕外 不是强制性的 该视图不在视图层次结构的顶部 The isHidden and isHiddenOrHasHiddenAncestor不
  • 如何消除禁用的 UIButton 的灰色外观

    我有一个 UIButton 我希望它处于禁用状态时与处于正常状态时看起来完全相同 现在它看起来有点灰色 不要使用enabled属性或setEnabled NO方法 而是使用 myButton setUserInteractionEnable
  • CALayer 抗锯齿不如 UIView 抗锯齿

    我一直在尝试使用 CALayer 制作圆形绘图的动画 一切都运行良好 但问题是 绘制的圆不够抗锯齿 它的边界有点太粗糙 或者如果使用光栅化则模糊 抗锯齿已启用 还尝试过 边缘抗锯齿遮罩 kCALayerLeftEdge kCALayerRi
  • 如何从通讯录 ios 以编程方式编辑电话号码值

    我正在尝试在 iOS 中以编程方式替换特定联系人的特定电话号码 获取联系人表单地址簿 我不知道为什么我无法保存新的电话号码并刷新地址簿以显示更改 我正在这样做 BOOL changeContactPhoneNumber NSString p
  • Objective-C 中 typedef 枚举语句在哪里?

    我担心的一个基本问题 以下代码有效 并且 typedef 枚举被识别 但我收到一条警告消息 空声明中无用的存储类说明符 我在这里做错了什么吗 这是放置 typedef 枚举的最佳位置吗 import
  • ARC 可以与 Core Graphics 对象一起使用吗?

    我最近开始了一个使用自动引用计数 ARC 的新项目 当我分配 CALayer 的内容时 UIView view UIImage image view layer contents image CGImage 我收到一个错误 ARC 不允许将
  • 如何在 Swift 中调用 Objective-C 实例类型方法?

    我有一个 Objective C 类 如下所示 interface CustomObjectHavingData NSObject property nonatomic strong NSData objWithData instancet
  • 使用 Objective-C 进行 Windows 开发

    最近读了一篇关于 Objective C 的文章 我觉得它是一门相当简洁的语言 具有很多很酷的功能 我无意进行任何 iPhone 开发 但是我了解 GCC 能够编译 Objective C 代码 所以我想知道 Objective C 是 W
  • 如何在 xcode 中使用相同的 nib 文件创建多个窗口

    我有一个使用表格视图作为界面的 iPhone 应用程序 每次用户点击其中一个表格单元格时 我想向用户显示另一个窗口 然而 我推入导航控制器的窗口的用户界面非常相似 因此 我决定制作一个 通用 nib 文件 以便在该通用 nib 文件的文件所
  • 准确地从屏幕上的像素获取颜色并转换其颜色空间

    我需要从屏幕上的像素获取颜色并转换其颜色空间 我遇到的问题是 将值与数字色度计应用程序进行比较时 颜色值不相同 create a 1x1 image at the mouse position if let image CGImage CG
  • 如何按字母顺序对 NSMutable 数组中的自定义对象字段进行排序?

    我有一个自定义对象 例如 import

随机推荐

  • 如何在 Android 上将 SurfaceView 与 main.xml 一起使用?

    在我的项目的主课中 我有 public class MyClass extends Activity public void onCreate Bundle savedInstanceState super onCreate savedIn
  • 如何在javascript中实现deque数据结构?

    我正在用 javascript 学习数据结构 我现在的重点是如何实现双端队列 编辑 从下面的评论中我得到了有关如何实施的有用指示deque based array 有没有一个具体实施的方向deque based object使用类 我明白了
  • Symfony 不会从集合中删除实体

    我知道一般来说有很多关于这个主题的帖子 不幸的是 这些大多涉及对数据库的实际持久操作 就我而言 我在持久操作之前发生了一个问题 我有一个带有实体 学说 持久性集合的表单 您可以通过 javascript 从 DOM 中删除 对象 提交后 当
  • Vim 关闭窗口而不关闭缓冲区

    如何在不删除缓冲区的情况下关闭窗口或取消分割 A window is a viewport on a buffer In vim to manage windows it is CTRL w the leading command that
  • Python:导入错误,没有名为 urllib 的模块

    我刚刚从Linode租了一个VPS 它有python2 5和ubuntu 8 04 当我运行这个命令时python shell import urllib I get ImportError No module named urllib 可
  • 杀死应用程序后,后台获取不起作用

    我正在尝试通过后台获取从 url 获取数据 我的函数尝试获取数据 如果有新数据 它会发送本地通知 当我最小化应用程序时 后台获取会在大约 10 20 分钟后开始工作 但是当我杀死该应用程序 双击主页按钮并关闭应用程序 时 它不起作用 我等了
  • 为什么正则表达式不能使用关键字而不是字符?

    好吧 我几乎不了解 RegEx 基础知识 但为什么他们不能将其设计为使用关键字 如 SQL 而不是一些神秘的通配符和符号呢 由于正则表达式是在运行时解释 解析的 所以是为了性能吗 未编译 或者也许是为了写作速度 考虑到当您学习一些 简单 字
  • 异步 lambda 到表达式>

    众所周知 我可以将普通的 lambda 表达式转换为Expression
  • 3D 数组如何在 C 中存储?

    据我所知 C 中的数组是按行优先顺序分配的 因此 对于 2 x 3 数组 0 1 2 3 4 5 存储在内存中为 0 1 2 3 4 5 但是 如果我有一个 2 x 3 x 2 数组怎么办 0 1 2 3 4 5 and 6 7 8 9 1
  • 从左到右显示 SVG 动画

    我有两个 SVG 图像 我想将它们设置为动画 如下所示 首先显示Full Screen文本从左到右 然后用第二个 SVG 覆盖该单词Screen显示整个第二个 SVG 因此 最后我将得到第二个 svg 中的单词 Full 黑色空间 以及单词
  • CSS位置绝对和全宽问题

    我想改变 dl 下面占据全屏宽度而不更改换行和包含它的标题元素 当我尝试定位 dl 元素 参见 problematic code 部分 下面 导航获取最大宽度为 1003px 的包装器的 100 我希望它在不改变换行和标题 div 的情况下
  • Unity-3d-5 将 16:9 的图像缩放至其他分辨率

    所以我创建了一个蛇游戏 其边框是用 2d 精灵创建的 我将游戏窗口设置为 16 9 在此分辨率下图像看起来不错 然而 扩展到其他任何东西开始让游戏看起来很奇怪 我想要调整游戏窗口的大小 如何让我的精灵根据当前分辨率拉伸和收缩 我已经尝试创建
  • VS Code 和 Flutter/Dart,小部件自动完成功能不起作用

    我正在使用一些教程来学习 Flutter 而我现在正在学习的教程则使用 VSCode 事实上 与 Android Studio 相比 我更喜欢它 因为它不会使我的 Macbook 过热 到目前为止 我唯一感到沮丧的是 有很多次自动完成功能停
  • 使用 Java 中的 JTextfield (Netbeans) 使用点分隔符使输入字段自动格式化数字

    我是 Java 新手 在我的第一个 Java 程序 使用 Netbeans 中 我想添加带有点 的输入字段自动格式编号 使用 JTextfield 分隔符 这是我的简短代码 private void PayTransKeyReleased
  • 私有子网中的EKS,公共子网中的负载均衡器

    我在私有子网中运行 EKS 因此无法创建面向互联网的负载均衡器 但能够创建内部负载均衡器 有什么方法可以在公共子网中创建负载均衡器 可能是手动 并指向私有子网中 EKS 中运行的 Pod 我正在考虑创建负载均衡器链 其中外部负载均衡器将指向
  • 是否可以从父线程访问/更新子线程的资源?

    我正在用 C 语言进行套接字编程 并且对多线程完全陌生 这是我的场景 我需要一个父线程从套接字读取数据 可以说 并将其排队到其子线程的队列中 这里的问题是 如何更新子线程的队列 具体来自父线程 支持多个生产者和消费者的线程安全队列 MtQu
  • mongodb 安装 - 要求?

    有人知道在 mongo 上安装标准 ubuntu 需要多少磁盘空间和内存吗 试图找出我的 VPS 需求 没有最低要求 但我不建议在与网络服务器相同的机器上运行 Mongo MongoDB 自动使用机器上的所有空闲内存作为其缓存 http d
  • RuntimeException 内容具有 id 属性“android.R.id.list_container”的视图,该视图不是 ViewGroup 类

    我仅在使用 Android 5 0 1 的华为设备上遇到此异常 Fatal Exception java lang RuntimeException Unable to start activity ComponentInfo net ex
  • 将复数名词转换为单数名词

    如何使用 R 将复数名词转换为单数名词 我使用 tagPOS 函数来标记每个文本 然后提取所有标记为 NNS 的复数名词 但是如果我想将这些复数名词转换为单数该怎么办 library openNLP library tm acq o lt
  • 跳过痛苦的 Core Data 迁移并迁移到新的数据模型

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