iPhone開發應用ASIFormDataRequest POST操作架構設計
作者:佚名
iPhone開發應用中ASIFormDataRequest POST操作架構設計是本文喲啊介紹的內容,主要是來講述ASIFormDataRequest的POST操作架構設計,方法由自己定義。
iPhone開發應用中ASIFormDataRequest POST操作架構設計是本文喲啊介紹的內容,主要是來講述ASIFormDataRequest的POST操作架構設計,方法由自己定義。內容主要是基于代碼來實現,來看詳細代碼。
- //開啟iphone網絡開關
- [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
- ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURLURLWithString:host]];
- //超時時間
- request.timeOutSeconds = 30;
- //定義異步方法
- [request setDelegate:self];
- [request setDidFailSelector:@selector(requestDidFailed:)];
- [request setDidFinishSelector:@selector(requestDidSuccess:)];
- //用戶自定義數據 字典類型 (可選)
- request.userInfo = [NSDictionary dictionaryWithObject:method forKey:@"Method"];
- //post的數據
- [request appendPostData:[body dataUsingEncoding:NSUTF8StringEncoding]];
- //開始執行
- [request startAsynchronous];
- //執行成功
- - (void)requestDidSuccess:(ASIFormDataRequest *)request
- {
- //獲取頭文件
- NSDictionary *headers = [request responseHeaders];
- //獲取http協議執行代碼
- NSLog(@"Code:%d",[request responseStatusCode]);
- if ([delegaterespondsToSelector:@selector(OARequestSuccessed:withResponse:WithData:withHeaders:)])
- {
- //執行委托操作 (架構設計 自選)
- [delegate OARequestSuccessed:method withResponse:[request responseString]WithData:[request responseData] withHeaders:headers];
- }
- //清空
- if (request)
- {
- [request release];
- }
- //關閉網絡
- [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
- }
- //執行失敗
- - (void)requestDidFailed:(ASIFormDataRequest *)request{
- //獲取的用戶自定義內容
- NSString *method = [request.userInfo objectForKey:@"Method"];
- //獲取錯誤數據
- NSError *error = [request error];
- if ([delegate respondsToSelector:@selector(OARequestFailed:withError:)])
- {
- //執行委托 將錯誤數據傳其他方式(架構設計 自選)
- [delegate OARequestFailed:method withError:error];
- }
- if (request)
- {
- [request release];
- }
- [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
- }
- //執行成功函數
- - (void)OARequestSuccessed:(NSString *)method withResponse:(NSString *)response WithData:(NSData *)data withHeaders:(NSDictionary *)headers
- {
- NSString *responseStr = [[[NSString alloc] initWithData:dataencoding:NSUTF8StringEncoding] autorelease];
- //服務返回post后的數據
- NSLog(@"response:\n%@",responseStr);
- }
- //執行失敗函數
- - (void)OARequestFailed:(NSString *)method withError:(NSError *)error
- {
- NSLog(@"Error:%@",error);
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"出錯了" message:@"網絡連接失敗, 請稍后重試."
- delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil];
- [alert show];
- [alert release];
- }
小結:iPhone開發應用中ASIFormDataRequest POST操作架構設計的內容介紹完了,希望通過本文的學習能對你有所幫助!
責任編輯:zhaolei
來源:
互聯網