iPhone 开发 之 ASIHTTPRequest
2010-03-10 16:06:00 来源:WEB开发网注意,我们为request设置委托,这样,我们就可以接收消息,无论request完成了还是失败了。
这是一个最简单的创建一个异步的request的方法,并且,它会运行在当前进程里。对于更复杂的情况,你可能想创建一个队列,我们可以覆盖下一个(youmight want to create your own queue, which is what we’ll covernext.这里翻译的非常勉强….英语差啊…);
Using aqueue
使用一个队列
这个示例依然是做同样的事情,但是,我们将为我们的request添加一个NSOperationQueue对象。
使用NSOperationQueue(或ASINetWorkQueue,见下面示例)将给你对异步request更多的控制。当使用队列的时候,只有确定数量的request可以同时运行。如果你添加的request超过了队列的 maxConcurrentOperationCount属性,request将在其他request运行完了之后运行。
- (IBAction)grabURLInTheBackground:(id)sender
{
if (![self queue]) {
[self setQueue:[[[NSOperationQueue alloc] init] autorelease]];
}
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[[self queue] addOperation:request]; //queue is an NSOperationQueue
}
- (void)requestDone:(ASIHTTPRequest *)request
{
NSString *response = [request responseString];
}
- (void)requestWentWrong:(ASIHTTPRequest *)request
{
NSError *error = [request error];
}
在上面的示例中,'queue'是我们的控制器保留NSOperationQueue的产物。
我们设置selectors,selectors将在request成功或者失败之后被执行。如果你不设置这些,将会调用默认的(requestFinished和requestFailed).
Tags:iPhone 开发 ASIHTTPRequest
编辑录入:coldstar [复制链接] [打 印]- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››iPhone应用帮助残障儿童看图说话
- ››iPhone实用工具AppBox Pro使用教程大揭秘
- ››iphone4省电方法
- ››iphone 获取地址的详细信息
- ››iPhone 库的基本内存管理策略
- ››iPhone加密文字亲手做 私密信息有保障
- ››iphone 根据经纬度坐标取详细地址(包括国,省,市...
- ››iphone/ipad ios cocoa object-c 近期苹果UI部分小...
- ››iphone中如何进行多线程编程
- ››iPhone OS SDK的这些事[安装、下载、版本、实例、...
- ››iPhone ObjectC的NSAutoreleasePool
更多精彩
赞助商链接