Невозможно получить доступ к файлу данных ядра
У меня есть приложение, которое полностью основано на Objective C, которая использует основные данные. Я переписал полное приложение на swift и теперь использую Relam для приложения swift. когда пользователи переходят с Objective C на быстрое приложение, я хочу перенести часть БД из основных данных в 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 ответ
Если вы используете IOS 10 выше, следуйте нижеприведенному appoarach
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
}
}