多只参数和中文输出

//多值参数
/*
 如果一个参数对应着多个值,那么直接按照"参数=值&参数=值"的方式拼接
 */
-(void)test
{
    //1.确定URL
    NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/weather?place=Beijing&place=Guangzhou"];
    //2.创建请求对象
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //3.发送请求
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {

        //4.解析
        NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]);

若输出中文则需重写系统的description方法(解决方法加分类)


@implementation NSDictionary (Log)

-(nonnull NSString *)descriptionWithLocale:(nullable id)locale
{
    NSMutableString *string = [NSMutableString string];

    //以{开头
    [string appendString:@"\n{\n"];

    [self enumerateKeysAndObjectsUsingBlock:^(id  __nonnull key, id  __nonnull obj, BOOL * __nonnull stop) {

        [string appendFormat:@"\t%@",key];
        [string appendString:@":"];
        [string appendFormat:@"%@,\n",obj];
    }];

    //以}结尾
    [string appendString:@"}"];

    NSRange range =  [string rangeOfString:@"," options:NSBackwardsSearch];
    if (range.location != NSNotFound) {
        [string deleteCharactersInRange:range];
    }

    return string;
}

@end

@implementation NSArray(Log)

-(nonnull NSString *)descriptionWithLocale:(nullable id)locale
{
    NSMutableString *string = [NSMutableString string];

    //以[开头
    [string appendString:@"["];
    [self enumerateObjectsUsingBlock:^(id  __nonnull obj, NSUInteger idx, BOOL * __nonnull stop) {

        [string appendFormat:@"%@,\n",obj];
    }];

    //以]结尾
    [string appendString:@"]\n"];

    NSRange range =  [string rangeOfString:@"," options:NSBackwardsSearch];
    if (range.location != NSNotFound) {
        [string deleteCharactersInRange:range];
    }

    return string;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值