ich Mantle bin mit etwas JSON zu analysieren, die normalerweise wie folgt aussieht:Substituieren JSON Nullwerte in Mantle
"fields": {
"foobar": 41
}
jedoch manchmal der Wert von foobar ist null:
"fields": {
"foobar": null
}
Dies verursacht MTLValidateAndSetValue
um eine Exception zu werfen, während versucht wird, einen Nullwert über Key-Value Coding zu setzen.
Was ich tun möchte, ist das Vorhandensein dieses Nullwerts erkennen und ersetzen Sie ihn mit -1.
Ich versuchte foobarJSONTransformer
in meiner MTLModel
Unterklasse überschreiben, wie folgt:
+ (NSValueTransformer *)foobarJSONTransformer {
return [MTLValueTransformer transformerWithBlock:^id(id inObj) {
if (inObj == [NSNull null]) {
return [NSNumber numberWithInteger: -1];
} else {
return inObj;
}
}];
... und ich kann dieser Code sehen genannt wird, aber inObj ist nie gleich [NSNull null]
, damit die Substitution nicht geschieht und die Ausnahme wird immer noch von Mantle geworfen.
Was ist der richtige Weg, um diesen JSON-Null-Fall zu fangen und die Substitution zu tun?