Правильный способ связать файл области, используя Swift - PullRequest
0 голосов
/ 14 сентября 2018

Я пытался связать свой предварительно заполненный файл Realm с моим приложением. Я скопировал if и добавил область ресурсов комплекта копирования в фазе сборки. Но каждый раз, когда запускается приложение, я не могу получить данные. Когда я смотрю на файл, созданный моим приложением на устройстве, классы там пусты.

Вот как я выбираю объекты

var allTrees: Results<trees>?
allTrees = realm.objects(trees.self)
print(allTrees?.count ?? 0) // always zero

Моя AppDelegate настройка

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    application.statusBarStyle = .lightContent

    let bundlePath = Bundle.main.path(forResource: "default", ofType: ".realm")
    let destPath = Realm.Configuration.defaultConfiguration.fileURL?.path
    let fileManager = FileManager.default

    if fileManager.fileExists(atPath: destPath!) {
        //File exist, do nothing
        print(destPath ?? "if loop")
    } else {
        do {
            //Copy file from bundle to Realm default path
            try fileManager.copyItem(atPath: bundlePath!, toPath: destPath!)
        } catch {
            print(error)
        }
    }

    return true
}

Моя модель класса

class trees: Object {
    @objc dynamic var turkishName = ""
    @objc dynamic var latinName = ""
    @objc dynamic var seedTpye = true
    @objc dynamic var leafType = true
    @objc dynamic var botanicProperties = ""
    @objc dynamic var spreadingArea = ""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...