AFNetworking是一个常用库,但是当需要用GET方法传Boolean值时就很头痛了。
使用GET方法的话传值AFNetworking 会将Bool类型转为1或0。
方法1
和服务器沟通,接受参数1和0。
当服务器端接受参数不认1和0,只认true和false,怎么办呢?
方法2
找到URLEncodedStringValue方法,改为如下代码。
- (NSString*)URLEncodedStringValue
{
if(!self.value|| [self.valueisEqual:[NSNullnull]]) {
return AFPercentEscapedStringFromString([self.field description]);
}else{
// return [NSString stringWithFormat:@"%@=%@", AFPercentEscapedStringFromString([self.field description]), AFPercentEscapedStringFromString([self.value description])];
NSString*stringValue;
if ([self.value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]) {
stringValue = ([self.valueboolValue]) ?@"true":@"false";
}else{
stringValue = [self.valuedescription];
}
return [NSString stringWithFormat:@"%@=%@", AFPercentEscapedStringFromString([self.field description]), AFPercentEscapedStringFromString(stringValue)];
}
}
网友评论