无法访问核心数据文件

时间:2018-01-19 10:59:33

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

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

两个应用都拥有相同的捆绑标识符。

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

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

1 个答案:

答案 0 :(得分:0)

如果您使用上面的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
        }
    }