我已经实现了 NSURLConnectionDownloadDelegate、NSURLConnectionDataDelegate 委托方法,如下所示。
问题是在 connection:didReceiveResponse: 之后, connectionDidFinishDownloading:destinationURL: 被调用但没有 connectionDidFinishLoading: 甚至 connection:didReceiveData: 未被调用。
当我评论 NSURLConnectionDownloadDelegate 方法时,调用其他三个没有任何问题。
我有一个从服务器获取 JSON 的 NSURLConnections。报刊亭使用 NSURLConnectionDataDownloading 委托方法来下载问题。
我该如何管理?
这是我正在实施的所有委托方法
- (void)connection:(NSURLConnection *)connection didWriteData:(long long)bytesWritten totalBytesWritten:(long long)totalBytesWritten expectedTotalBytes:(long long)expectedTotalBytes {
}
- (void)connectionDidFinishDownloading:(NSURLConnection *)connection destinationURL:(NSURL *)destinationURL {
}
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
}
- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
}
- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
}
这是我的 .h 文件
@interface FirstTopViewController : UIViewController <NSURLConnectionDownloadDelegate, NSURLConnectionDataDelegate, NSURLConnectionDelegate, UITableViewDataSource, UITableViewDelegate>
这就是我连接到服务器以获取 JSON 的方式
[[NSURLConnection alloc] initWithRequest:req delegate:self startImmediately:YES];
如果需要,这是下载问题的代码
NSURLRequest *urlReq = [NSURLRequest requestWithURL:myURL];
NKAssetDownload *asset = [currentIssue addAssetWithRequest:urlReq];
[asset downloadWithDelegate:self];
问题在于从服务器获取 JSON 的调用。问题下载工作正常。