1
生成された JSON に trueまたは0
false の代わりにブール値の属性値があるため、RestKit アプリが Core Data オブジェクトを送信すると失敗します。サーバーはそれが好きではありません。
変換はJSONKit.m
2723 行目で行われ、コードは次のようになります。
if (object == (id)kCFBooleanTrue) { /*... yield "true" */ }
else if (object == (id)kCFBooleanFalse) { /*... yield "false" */ }
/* else yield integer */
ここで比較は失敗します。私のコアデータオブジェクトは、[NSNumber numberWithInt:1]
代わりに真の値を保存しているようです(デバッガーによる[NSNumberWithBool:YES]
両方の出力にもかかわらず、異なるオブジェクトになることに驚いた)。1
そのブール属性を次のように設定したことに注意してください。
myManagedObject.boolFieldValue = myUISwitch.on;
MOgeneratorboolFieldValue
によって定義されたプロパティで、setter は次のとおりです。
-(void) setBoolFieldValue:(BOOL)value_ {
[self setBoolField:[NSNumber numberWithBool:value_]];
}
1 値の出力を強制的に true にする方法はありますか?