我的RestKit應用程序發送它的核心數據對象時失敗,因爲生成的JSON的布爾屬性值爲1
或0
,而不是true或false。服務器不喜歡它。如何使用RestKit發送布爾值?
轉換髮生在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定義的屬性,與二傳的存在:
-(void) setBoolFieldValue:(BOOL)value_ {
[self setBoolField:[NSNumber numberWithBool:value_]];
}
有沒有辦法強制輸出1值爲真?
你在哪裏實際上創建JSON? – borrrden
RestKit會使用它的映射魔術。 –