我在将 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 = ""
}
当我尝试像这样从我的 Realm 数据库加载用户时:
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":""
}
这是错误还是与 Realm 相关的行为。因为我能找到的解释这种行为的唯一解释是这个问题:Github Realm Issue
如果这是由 Realm 引起的,有没有人可以解决这个问题?
最佳答案
在 EVReflecdtion 中, Realm 对象现在将默认实现 EVCustomReflectable 协议(protocol),以便它能够获取 Realm 属性。请更新到最新版本。请注意,它现在也将使用 Realm 3。
关于ios - 使用 EVReflection 转换时 Realm 对象为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157123/