如何在屏幕之间共享领域对象

时间:2015-10-07 17:49:57

标签: swift realm

我正在开发一个用Swift编写的应用程序,它需要例如当前登录用户的数据在多个屏幕上以及从API更新后保存数据。

获取此数据的最佳做法是什么?通过以下选择从数据库中获取实例:

do {
    let realm = try Realm()
    let result = realm.objects(User).filter("name = \(loggedInPlayerName)")

    if result.count > 0 {
        return result.first
    }
}

或者通过(单例)SessionService或类似的东西获得它之后共享它?

或者让Player Model Object有一些选择方法,比如User()。getLoggedInUser(),它有上面写的方法来选择一个实例?

会对如何正确地做到这一点表示赞赏!

1 个答案:

答案 0 :(得分:0)

正确我会做那样的事情!我假设loggedInPlayName是唯一的id,因此您可以将属性名称设置为主键。

然后我会这样做:

let user = realm.objectForPrimaryKey(User.self, key: loggedInPlayerName)