关于AFNetworking传递Boolean类型

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)];

    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。