| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
11年前发布

AFNetworking类库使用示例

AFNetworking对NSURLConnection和NSURLSession进行了封装. 下面分别用这两种方法请求数据 网址是 用来请求JSON数据的网址.

   NSString *urlPath = @"http://10.0.8.8/sns/my/user_list.php";        //  AFNetworking VS ASI 最大的优势是 有ARC支持        //  AFNetworking目标是赶上ASI, AFNetworking致辞NSURLConnection和NSURLSession        //  AFNetworking是使用NSURLConnection 和 NSURLSession        //  #improt "AFNetworking.h"                //1.使用 NSURLConnection版本的AFNetworking        //1.1创建一个AFN管理对象        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];                //1.2告诉manager只下载原始数据, 不要解析数据(一定要写)        //     AFN即可以下载网络数据, 又可以解析json数据,如果不写下面的  自动就解析json        //     由于做服务器的人返回json数据往往不规范, 凡是AFN又检查很严格,导致json解析往往失败        //     下面这句话的意思是 告诉AFN千万别解析, 只需要给我裸数据就可以        manager.responseSerializer = [AFHTTPResponseSerializer serializer];                //1.3使用GET下载数据        NSDictionary *params = @{@"page" : @"2"};//表示第几页        [manager GET:urlPath parameters:params success:         ^(AFHTTPRequestOperation *operation, id responseObject) {             NSData *data = operation.responseData;             NSDictionary *dict = [NSJSONSerialization  JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];             NSLog(@"parase json is%@",dict);         }          failure:^(AFHTTPRequestOperation *operation, NSError *error) {             NSLog(@"下载错误 is %@",error);        }];                                //2.使用NSURLSession版本的AFNetworking        //2.1创建一个AFN管理对象        AFHTTPSessionManager *smanager = [AFHTTPSessionManager manager];                //2.2告诉manager只下载原始数据, 不要解析数据(一定要写        smanager.responseSerializer = [AFHTTPResponseSerializer serializer];                //2.3使用GET下载数据        [smanager GET:urlPath parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {            NSData *data = responseObject;            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];            NSLog(@"parase session is %@",dict);        } failure:^(NSURLSessionDataTask *task, NSError *error) {            NSLog(@"下载错误 %@",error);        }];