将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":""
}
这是一个bug还是与Realm相关的行为。因为我能找到解释这种行为的唯一解释就是这个问题:Github Realm Issue
如果这是由Realm引起的,有没有人能解决我们如何解决这个问题?
答案 0 :(得分:1)
在EVReflecdtion中,Realm Object现在默认实现EVCustomReflectable协议,以便它能够获取领域属性。请更新到最新版本。请注意,它现在也将使用Realm 3。
答案 1 :(得分:0)
听起来这可能是EVReflection库实现的问题。我在使用ObjectMapper和Realm Lists时遇到了一个问题,让它们很好地协同工作很有挑战性。最好逐步完成toJsonString()
实施,看看你是否能弄清楚那里发生了什么。
当然这是假设您实际在某处设置了属性(从上面的代码片段中不清楚)