Я преобразовал файл CSV в файл области, и я хочу использовать его в своем приложении. Это мой код атм:
func inLibrarayFolder(fileName: String) -> URL {
return URL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)[0], isDirectory: true)
.appendingPathComponent(fileName)
}
func copyPreBundleDataCompeletely() {
let mainRealmUrl = inLibrarayFolder(fileName: "main.realm")
let bundleUrl = Bundle.main.url(forResource: "treesFull", withExtension: "realm")!
//After launch after fresh install (if main.realm never created)
if (!FileManager.default.fileExists(atPath: mainRealmUrl.path)){
//copy bundled data into writable location compeletely
try! FileManager.default.copyItem(
at: bundleUrl, to: mainRealmUrl)
print(mainRealmUrl)
}
}
Во время первого запуска он создает новый файл, но файл немного отличается от оригинала:
оригинал дБ скопировано db
Объект Tree:
class Tree: Object {
@objc dynamic var id: Int32 = 0
@objc dynamic var br = ""
@objc dynamic var nm1 = ""
@objc dynamic var nm2 = ""
@objc dynamic var nm3 = ""
@objc dynamic var longitude = 0.0
@objc dynamic var latitude = 0.0
// override static func primaryKey() -> String? {
// return "id"
// }
}
Похоже, у меня есть 2 базы данных в новом файле, как я могу получить доступ ко второй базе данных с данными или как правильно скопировать файл?
Кроме того, что произойдет, когда я сделаю идентификатор для первичного ключа? Очевидно, у меня нет такого параметра в исходном загруженном файле, поэтому я думаю, что мне нужно как-то перенести данные ...