iOS開發之AFN的使用和注意事項

  • iOS開發中爲了高效,往往會使用到第三方框架(當然很多企業會用原生的進行封裝,本文暫不探討)。
  • 在使用AFN發送完請求後, NSData *data = operation.responseData; 這句代碼,就是不執行,檢查好久,代碼無錯,後來才知道,原來是少了一句話。
// 1.建管理者
AFHTTPRequestOperationManager *manager =[AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];//我就是沒寫這句代碼
// 2.封裝參數
NSUserDefaults *df = [NSUserDefaults standardUserDefaults];//從用戶偏好中讀取,之前存到裏面了
NSString *userid=[df stringForKey:@"USERID"];
NSString *usercode=[df stringForKey:@"USERCODE"];
NSString *tpid = [NSString stringWithFormat:@"%d",_TPID];
NSString *egid = [NSString stringWithFormat:@"%d",_EGID];

NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"userid"] = userid;
params[@"usercode"] = usercode;
params[@"tpid"]= tpid;
params[@"egid"] = egid;

NSString *urlStr = @"http://www.mbacnn.com/2014/app/UserApp!topic.action";
// 3.發送請求
[manager GET:urlStr parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
    //成功後,解析數據
    NSData *data = operation.responseData;//此處要記住哦!
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    NSLog(@"-dict-%@",dict);//打印看看是否獲得了字典吧

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    //失敗後要提示用戶,此處可以彈出一個alert

}];

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章