IOS程序之HTTP同步請求與異步請求問題解決
作者:佚名
本文主要介紹的是通過代碼實現HTTP同步請求與異步請求問題,來了解和學習IOS程序的開發,來看本文詳解。
IOS程序之HTTP同步請求與異步請求問題解決是本文要介紹的內容,內容不多,主要是通過代碼實現同步和異步的請求,我們來看詳細內容。
異步請求,
- NSMutableData* buf = [[NSMutableData alloc] initWithLength:0];
- NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
- // 收到響應時, 會觸發
- - (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse;
- // 你可以在里面判斷返回結果, 或者處理返回的http頭中的信息
- // 每收到一次數據, 會調用一次
- - (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data;
- // 因此一般來說,是
- - (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data
- {
- [buf appendData:data];
- }
- // 當然buffer就是前面initWithRequest時同時聲明的.
- // 網絡錯誤時觸發
- - (void)connection:(NSURLConnection *)aConn didFailWithError:(NSError *)error;
- // 全部數據接收完畢時觸發
- - (void)connectionDidFinishLoading:(NSURLConnection *)aConn;
同步請求
- // 初始化請求 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
- // 設置URL
- [request setURL:[NSURL URLWithString:urlStr]];
- // 設置HTTP方法
- [request setHTTPMethod:@"GET"];
- // 發送同步請求, 這裡得returnData就是返回得數據楽
- NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
- // 釋放對象
- [request release];
小結:IOS程序之HTTP同步請求與異步請求問題解決的內容介紹完了,希望本文對你有所幫助!
責任編輯:zhaolei
來源:
博客園