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;
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
同步请求
复制
// 初始化請求 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];
1.
2.
3.
4.
5.
6.
7.
8.
9.
小结:IOS程序之HTTP同步请求与异步请求问题解决的内容介绍完了,希望本文对你有所帮助!