Realm Swift:检索用户,启动应用程序

时间:2017-04-25 13:58:24

标签: ios swift realm

我使用Realm来存储用户信息。当我启动应用程序时,我查看Realm数据库以查看是否存在用户对象(以确定用户是否已登录或注销)。 这是我的代码:

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

    let config=Realm.Configuration(
        schemaVersion: 2,
        migrationBlock: { migration, oldSchemaVersion in
            if (oldSchemaVersion<1) || (oldSchemaVersion<2){
                migration.enumerateObjects(ofType: User.className()) { oldObject, newObject in
                }
            }
    })

    Realm.Configuration.defaultConfiguration=config

    do{
        let r=try Realm()
        print(Realm.Configuration.defaultConfiguration.fileURL!.path)
        let u=r.objects(User.self)
        //prints 0
        print("user:", u.count)
    }catch let e as NSError{
        print("failed to initate realm /", e)
    }

    return true
}

我可以从Realm Browser中看到用户在数据库中。但我无法得到它。我可能以错误的方式启动Realm,但我无法弄明白。有什么想法吗?

更新: 这是我在注册或记录时保存用户的代码:

DispatchQueue.main.async{
    do{
        let r=try Realm()
        try r.write{
            let u=User(id:"id", username:"username")
                r.add(u)
             }
         }catch let e as NSError{
             print(e)
         }
     }
}

0 个答案:

没有答案