每当我使用下面的代码的卷曲电话:如何在同一个委托中使用connectionDidFinishLoading处理不同的请求?
NSURL *url = [NSURL URLWithString:requestURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30];
if (connectionInProgress) {
[connectionInProgress cancel];
}
connectionInProgress = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES];
connectionDidFinishLoading是我的目的地在哪里可以操纵响应数据,并调用我的下一个方法来继续与应用程序。如果我硬编码像
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:xmlData];
[parser setDelegate:self];
[parser parse];
[someLabel setText:parsedTextFromXMLData];
}
如果我需要做的另一个卷曲调用不同的地址一些特定的任务,不会someLabel的setText总是得到重新设置一遍吗?有没有办法让这个委托函数在每次curl调用时表现不同? (顺便说一句,connectionDidFinishLoading通常是放置下一步代码的正确位置?)如果是这样,那么下次curl调用会再次调用它吗?
感谢您的快速响应和帖子。顺便说一句,我如何区分第一和第二连接?是否有可以检查的连接标题/标识符?谢谢 – sonoluminescence
请看我的编辑,希望它有帮助。无论如何,没有连接标识符,这就是您使用地址的原因。 – sergio
明白了,谢谢Sergio! – sonoluminescence