我有一个完全基于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")
答案 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
}
}