【问题标题】:Unable to access core data file无法访问核心数据文件
【发布时间】:2018-01-19 10:59:33
【问题描述】:

我有一个完全基于使用核心数据的 Objective C 的应用程序。我用 swift 重写了整个应用程序,现在我正在使用 Relam 进行 swift 应用程序。当用户从 Objective C 升级到 swift 应用程序时,我想将一些数据库从核心数据迁移到 Realm。但我无法访问核心数据文件。

两个应用具有相同的包标识符。

Objective C version:
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"StoreName" withExtension:@"momd"];

Swift Version:
    let url = Bundle.main.url(forResource: "StoreName", withExtension: "momd")

【问题讨论】:

    标签: ios swift core-data realm realm-mobile-platform


    【解决方案1】:

    如果您使用的是上面的 ios 10,请遵循以下方法

      lazy var persistentContainer: NSPersistentContainer = {
                     let container = NSPersistentContainer(name: "StoreName")
                container.loadPersistentStores(completionHandler: { (storeDescription, error) in
                          })
                return container
            }()
    

    使用以下方法获取上下文

      func context() -> NSManagedObjectContext {
            if #available(iOS 10.0, *) {
                return persistentContainer.viewContext
            } else {
                // Fallback on earlier versions
                return managedObjectContext
            }
        }
    

    【讨论】:

    • 能详细解释一下吗?
    • 我也有同样的情况。我有 Objective-C 项目,并从头开始快速设计了全新的项目。我不知道如何迁移是这种情况。 @santhosh 你找到解决方案了吗?提前致谢!
    猜你喜欢
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2013-12-10
    • 2011-11-03
    • 1970-01-01
    相关资源
    最近更新 更多