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