• AFNetworking 使用总结 (用法+JSON解析)


    AFNetworking 使用总结 (用法+JSON解析)

    From:http://www.coneboy.com/?p=716

    这几天在评论页面的时候发现get请求后加入2个以上的汉字会出现BadURL提示,断点调试发现是多中文字符惹的祸,所以在URL使用以前先转码成UTF-8即可
    这里顺便说明下自己使用AFNetworking 的常用方法。

    目前我只是用到
    #import “AFHTTPClient.h”;
    #import “AFHTTPRequestOperation.h”
    这两个类

    发起一个请求

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     NSString *URLTmp = @”http://www.coneboy.com”;
    NSString *URLTmp1 = [URLTmp stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  //转码成UTF-8  否则可能会出现错误
    URLTmp = URLTmp1;
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString: URLTmp]];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@”Success: %@”, operation.responseString);

    NSString *requestTmp = [NSString stringWithString:operation.responseString];
    NSData *resData = [[NSData alloc] initWithData:[requestTmp dataUsingEncoding:NSUTF8StringEncoding]];
    //系统自带JSON解析
    NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData:resData options:NSJSONReadingMutableLeaves error:nil];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@”Failure: %@”, error);
    [SVProgressHUD dismissWithError:@”提交失败,请重试”];
    }];
    [operation start];
    }

    AFNetworking 下载图片
    AFNETWorking 下载图片是异步并且可缓存到cache里面 非常好用不会阻塞主线程。用过的都说好!而且使用也简单!
    #import “UIImageView+AFNetworking.h”

    1
    [imageView setImageWithURL:[NSURL URLWithString:URL]];
  • 相关阅读:
    Mybatis传入list的注意点
    synchronized锁
    手撸红黑树
    Vue cdn加速配置
    多线程之BlockingQueue中 take、offer、put、add的一些比较
    线程池
    ThreadLocal
    jdk LocalDateTime mybatis 空指针解决办法
    不同对象中 类型与属性名的属性 进行数据转换
    HashMap 的put方法
  • 原文地址:https://www.cnblogs.com/iOS-mt/p/4196557.html
Copyright © 2020-2023  润新知