Я довольно новичок в развитии ios.Swift Realm, загрузите предварительно заполненную базу данных правильным способом?
Я следовать этому migration example использовать предварительно заполненные базы данных и изменить код немного
вот окончательный код, который я использую на AppDelegate -> func application
let defaultPath = Realm.Configuration.defaultConfiguration.path!
let path = NSBundle.mainBundle().pathForResource("default", ofType: "realm")
if let bundledPath = path {
print("use pre-populated database")
do {
try NSFileManager.defaultManager().removeItemAtPath(defaultPath)
try NSFileManager.defaultManager().copyItemAtPath(bundledPath, toPath: defaultPath)
} catch {
print("remove")
print(error)
}
}
Я проверяю это в реальном устройстве ,
Он работает, но в соответствии с логикой кода он всегда будет сбрасываться в предварительно заполненную базу данных. Это проверено: данные перезагружаются после перезапуска приложения.
Я пробовал moveItemAtPath
вместо copyItemAtPath
. ошибка разрешения
Я попытался удалить файл с заполненной базой данных после копирования. ошибка разрешения
Я попытался использовать предварительно заполненный файл базы данных как путь конфигурации по умолчанию в режиме реального времени. ошибка также возникает.
о, да, это было бы так. btw, это 'fileExistsAtPath' – Jesse
@TiM Почему' файл существует' всегда возвращает true? – aaisataev
@aaisataev После создания файла нет необходимости снова запускать тот же код замены. Поэтому имеет смысл, что он всегда будет возвращать «истину» после первого раза. :) – TiM