已弃用的 NSURLConnection 方法,有替代方法吗?
Posted
技术标签:
【中文标题】已弃用的 NSURLConnection 方法,有替代方法吗?【英文标题】:Deprecated NSURLConnection Methods, is there an alternative? 【发布时间】:2012-02-28 14:12:26 【问题描述】:我正在设置一个 NSURLConnection 来访问远程服务器:
NSURL *url = [[NSURL alloc] initWithString:projectURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
使用以下委托方法:
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse
所有这些方法都说“在 ios 2.0 到 iOS 4.3 中可用”。我的问题是我应该为当前的 iOS5 做另一种方式吗?我需要异步传输,并且需要通过 NSURLCredential 进行 UID/PWD 身份验证。
编辑:
所以如果我在我的标头中采用协议<NSURLConnectionDelegate>
并使用上面的委托方法,我这样做是正确的吗?
【问题讨论】:
iOS5 NSURLConnection methods deprecated 的可能重复项 【参考方案1】:对于 iOS 5,您似乎可以利用新的 NSURLConnectionDelegate
protocol(为您链接的文档)。
And here's a related (or maybe even duplicate?) question that explains even better.
【讨论】:
是的,它们还在,只是被转移到正式协议中。 嗯,实际上,由于某种原因,协议的文档中缺少所有这些方法;但是,它们仍然存在(并且未弃用)!在网上搜索表明这是一个文档错误。 不客气,模糊的。将<NSURLConnectionDelegate>
添加到您的标头应该适用于正式和非正式的协议使用,但我想知道编译器是否会抛出任何“警告”投诉。希望不会。以上是关于已弃用的 NSURLConnection 方法,有替代方法吗?的主要内容,如果未能解决你的问题,请参考以下文章