Ios 从基于Siesta实体构建的JSON初始化领域对象失败
我正在使用从服务器获取资源。我正在按照用户指南配置一个转换器,以便将JSON字符串自动转换为领域对象 它适用于单个对象,但不知何故,在使用这些对象的数组时失败了 这是我的简化模型:Ios 从基于Siesta实体构建的JSON初始化领域对象失败,ios,swift,realm,swifty-json,siesta-swift,Ios,Swift,Realm,Swifty Json,Siesta Swift,我正在使用从服务器获取资源。我正在按照用户指南配置一个转换器,以便将JSON字符串自动转换为领域对象 它适用于单个对象,但不知何故,在使用这些对象的数组时失败了 这是我的简化模型: public class ObservingSite: Object { dynamic var uuid: String = "" dynamic var name: String = "" } 和siesta transformer,如示例所示,在myService子类中: self.confi
public class ObservingSite: Object {
dynamic var uuid: String = ""
dynamic var name: String = ""
}
和siesta transformer,如示例所示,在myService
子类中:
self.configureTransformer("/\(self.APIVersion)/observingsites/") {
JSON($0.content as AnyObject).arrayValue.map { ObservingSite(value: $0) }
}
JSON
是由定义的数据类型
我得到了一条疯狂的错误信息:
2017-01-22 20:04:00.848504 Arcsecond Demo macOS[25453:8681143] [General] An uncaught exception was raised
2017-01-22 20:04:00.848592 Arcsecond Demo macOS[25453:8681143] [General] Invalid value '{
"name" : "Adelaide Observatory",
"uuid" : "99b98d50-d831-48c2-89b3-2ff6e4c9f4aa"
}' to initialize object of type 'ObservingSite': missing key 'uuid'
2017-01-22 20:04:00.849000 Arcsecond Demo macOS[25453:8681143] [General] (
0 CoreFoundation 0x00007fff7fa49e7b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fff94634cad objc_exception_throw + 48
2 Realm 0x000000010040c3f3 RLMValidatedValueForProperty + 282
3 Realm 0x000000010040b863 -[RLMObjectBase initWithValue:schema:] + 1105
4 RealmSwift 0x00000001002aa5da _TFC10RealmSwift6ObjectcfT5valueP__S0_ + 202
5 Arcsecond 0x000000010024fbfb _TFC9Arcsecond13ObservingSitecfT5valueP__S0_ + 203
6 Arcsecond 0x000000010024fc84 _TFC9Arcsecond13ObservingSiteCfT5valueP__S0_ + 52
7 Arcsecond 0x0000000100253a1c
但是该死的
uuid
键在这里!?我错过了什么?非常感谢您的帮助。我没完全理解为什么就成功了。但是变压器实际上是错误的,这不是一个领域问题。现在,午睡变压器如下所示:
self.configureTransformer("/\(self.APIVersion)/observingsites/") {
($0.content as [AnyObject]).map { ObservingSite(value: $0) }
}
我基本上删除了JSON
init