【发布时间】:2017-09-11 13:39:19
【问题描述】:
将 Realm 对象转换为 jsonString 时遇到问题。我在网上搜索,但找不到明确的答案。我猜可能是什么问题...
我有一个用户类:
import RealmSwift
import EVReflection
public class User: Object, EVReflectable, IModel {
dynamic var id: String = UUID().uuidString
dynamic var createdAt: String = ""
dynamic var lastUpdate: String = ""
dynamic var firstName: String = ""
dynamic var lastName: String = ""
dynamic var email: String = ""
}
当我尝试从我的领域数据库中加载用户时:
let users = realm.objects(User.self).filter("id = %@", userId)
let user = users.first
我可以毫无问题地访问该对象。我看到了存储在对象中的所有数据。
如果我想将数据转换为 JSON 字符串并输出,我会得到一个空的 JSON 对象:
print(user.toJsonString())
./输出
{
"id":"64EA49AA-333C-4C76-B92C-464EFE1D9E10",
"createdAt":"",
"lastUpdate":"",
"firstName":"",
"lastName":"",
"email":""
}
这是一个错误还是与领域相关的行为。因为我能找到解释这种行为的唯一解释是这个问题:Github Realm Issue
如果这是由 Realm 引起的,有没有人可以解决这个问题?
【问题讨论】:
-
您确定
user确实设置了这些值吗? -
@DávidPásztor 是的,当我打印出不同的属性(如 `print(user.firtName))时,我得到了正确的值。