我的 RestKit 应用程序在发送它的核心数据对象时失败,因为生成的 JSON 具有1
或0
用于布尔属性值,而不是 true 或 false。服务员不喜欢。
转换发生在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;
boolFieldValue
MOgenerator 定义的属性在哪里,setter 是:
-(void) setBoolFieldValue:(BOOL)value_ {
[self setBoolField:[NSNumber numberWithBool:value_]];
}
有没有办法强制 1 值的输出为真?