我正在开发一个用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(),它有上面写的方法来选择一个实例?
会对如何正确地做到这一点表示赞赏!
答案 0 :(得分:0)
正确我会做那样的事情!我假设loggedInPlayName是唯一的id,因此您可以将属性名称设置为主键。
然后我会这样做:
let user = realm.objectForPrimaryKey(User.self, key: loggedInPlayerName)