2013-12-07 137 views
-1

任何使用restkit的人都會將布爾值傳遞迴服務器?我可以傳回字符串「真」還是「假」?如何通過Restkit傳遞布爾值

服務器將該屬性存儲爲布爾值。

+0

爲[在你的另一個問題討論](http://stackoverflow.com/questions/20445375/collection-element-of -type-bool-is-not-an-objective-c-object),請在你的字典中使用'@(YES)'或'@(NO)'。或者如果你有'BOOL'變量,比如'isExclusive',使用'@(isExclusive)'。 – Rob

+0

是否超過1和0?服務器不期望1或0。 – jdog

回答

1

RestKit使用NSJSONSerialization。如果你有一個布爾變量,比如說isExclusive,你可以使用[NSNumber numberWithBool:isExclusive]或布爾文本@(isExclusive)將它添加到你的集合對象中。 NSJSONSerialization將根據情況將其表示爲truefalse

例如:

BOOL   isExclusive = YES; 
NSDictionary *dictionary = @{@"exclusive" : @(isExclusive)}; 
NSData  *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:0 error:&error]; 
NSString  *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSLog(@"JSON = %@", jsonString); 

這將報告:

 
JSON = {"exclusive":true}