(iOS-網路)AFNetWorking網路架構的HTTP基本實現方法,ios-afnetworking
總結一下AFNetworking的基本使用方法。
①在AppDelegate.h中,匯入AFHTTPRequestOperationManager.h檔案,添加一個屬性manager:
@property (strong,nonatomic(AFHTTPRequestOperationManager *)manager;
在實現檔案中Application:didFinishLauchingWithOpertions:中完成manager的初始化:
self.manager = [AFHTTPRequestOperationManager manager];
②在需要使用HTTP協議載入資料的地方,匯入AppDelegate.h,實現以下語句:
appDelegate = [UIApplication sharedApplication].delegate;
NSString *str_input_data = [NSString stringWithFormat:@"238549_21963$2053$11$%@$%@$%@$%@$None$%@$O10.001$%@$%@$%@$%@$%@",ageCode,sexCode,nationCode,marryCode,symCode,self.highBPField.text,self.lowBPField.text,self.rateField.text,self.temperatureField.text,self.breathField.text];NSString *temStr = [NSString stringWithFormat:@"http://url?str_input_data=%@",str_input_data];//str_input_data為服務端需要參數的介面NSString *encoded = [temStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//需要進行UTF-8編碼轉換才能是能被識別的URL[appDelegate.manager GET:encoded parameters:nil success:^(AFHTTPRequestOperation *operation, id resonseObject){
//這裡面對接收到的responseObject進行處理,它已經是解析好的json檔案了 resultKeys = [NSMutableArray array]; resultValues = [NSMutableArray array]; NSArray *array = resonseObject; for (NSInteger j = 0; j < array.count; j ++){ if (j % 2 == 0) { [resultKeys addObject:[array objectAtIndex:j]]; } else if (j % 2 == 1 && ![(NSString *)array[j] isEqual:@" 0"]){ //[resultValues addObject:[array objectAtIndex:j]]; [resultValues addObject:(NSString *)array[j]]; } else{ break; } } NSLog(@"keys=%@,value= %@",resultKeys,resultValues); [self.resultTable reloadData];}failure:^(AFHTTPRequestOperation *operation, NSError *error){ NSLog(@"串連診斷結果服務錯誤:%@",error);}];