我正在构建一个两个架构都相同的应用程序(DB& LocalDB)。
这是一个很好的原因,一行代码Realm正在解析我从服务器获得的JSON。
if let JSON = response.result.value {
let realm = try! Realm()
do {
try realm.write {
realm.create(EMApplication.self, value:JSON, update: true)
}
} catch {
print("Something went wrong!")
}
}
唯一的问题是Realm要求为我设置的每个属性专门提供一个类型,但我至少有一个属性我想用AnyObject
类型:
class EMAnswer: Object {
var id = RealmOptional<Int>()
dynamic var name: String?
var value: AnyObject?
var staus: Status?
var answerType: AnswerType?
}
我的愿望是为Realm找到一种方法来理解value
可以是任何类型并相应地解析它。或者我是否需要采用另一条路径来解析JSON?
答案 0 :(得分:1)
无法将AnyObject
属性放入Realm Object
模型子类中。它必须是受支持的基本类型之一,Realm Object
或List
对象的Object
对象。
如果对象以JSON形式出现,那么最简单的方法就是使value
成为String
属性,这样就可以将JSON中的数据保存为原始状态。然后,您可以稍后检查value
的值,并从中确定其类型。