将 Objective-C 核心数据迁移到 Swift 持久化容器
Posted
技术标签:
【中文标题】将 Objective-C 核心数据迁移到 Swift 持久化容器【英文标题】:Migrate Objective-C Core Data to Swift Persistent Container 【发布时间】:2019-04-10 15:26:51 【问题描述】:当 Apple 添加新的 PersistentContainer 类时,他们更改了数据存储的位置。这意味着如果您添加一个新的 PersistentContainer,它不会选择当前数据库,而是创建一个。 根本问题是新商店位于另一个文件夹中。 如何为 PersistentContainer 指定文件夹以便它获取旧存储?
【问题讨论】:
【参考方案1】:NSPersistentContainer
的持久存储在其persistentStoreDescriptions
数组属性中指定。默认情况下,它包含一个 SQLite 类型的持久存储,由应用容器的 Application Support
文件夹中的文件支持。
the documentation of this property 的 讨论 部分解释了更改此设置的过程。
此存储的文件路径在 NSPersistentStoreDescription
的 url
属性中指定,该属性是可变的。因此,您应该将该数组中单个NSPersistentStoreDescription
的url
属性设置为您想要的路径。
【讨论】:
以上是关于将 Objective-C 核心数据迁移到 Swift 持久化容器的主要内容,如果未能解决你的问题,请参考以下文章
将 Objective-C 代码迁移到 Swift(Swift 2.0更新)-b
从 Objective-C 迁移到 Swift:AFNetworking > Alamofire