У меня был предыдущий вопрос здесь о местонахождении базы данных. What different between store database in different locations in iOS?iOS: Как скопировать предварительно загруженную базу данных в первое запущенное приложение с SQLite.swift в место для записи?
Я смущен в копировании предварительно загруженной базы данных в доступное для записи место.
Теперь, каждый раз, когда я запускаю и создаю свое приложение, база данных, используемая в процессе использования, будет заменена предварительно загруженным db.
И в будущем, если я обновляю версию своего приложения, как я могу предотвратить замену базы данных?
И как скопировать db из ресурсов копирования Bundle в DocumentDirectory? – TomSawyer
Вы не копируете «Ресурсы копирования Bundle» ... это шаг построения. У вас должен быть файл базы данных, указанный в Ресурсах копирования Bundle - вот как он попадает в приложение при его создании. Когда приложение запускается, вы проверяете, существует ли файл, и если он не использует метод '-copyItemAtPath: toPath:' NSFileManager' для копирования файла в каталог документов. – Caleb
Большое спасибо. Я работаю быстро. Вот мой код: 'сделать { попробовать fileManager.copyItemAtPath (orgpath !, toPath: DBPATH как строка) ConnectToDB() } поймать пусть ошибки в NSError { печать (ошибка) }', но я боюсь, что ' Метод ConnectToDB() 'будет вызван до завершения' copyItemAtPath'? – TomSawyer