我正在从xml和图像加载一些文本,该图像加载比xml需要更长的时间,但我想同时显示它们.
我正在使用加载图像
NSData *mydata = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:imgLink]];
Run Code Online (Sandbox Code Playgroud)
如何设置一个让我知道mydata有图像的回调函数,这样我就可以将图像和文本添加到视图中?
谢谢
您将不得不使用NSURLConnection.这相当简单,但比NSData方法更复杂.
首先,创建一个NSURLConnection:
NSMutableData *receivedData;
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:imgLink]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
receivedData=[[NSMutableData data] retain];
} else {
// inform the user that the download could not be made
}
Run Code Online (Sandbox Code Playgroud)
现在,将<NSURLConnectionDelegate>添加到类的标头并实现以下方法:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
Run Code Online (Sandbox Code Playgroud)
第一个应该附加数据,如下所示,最后一个应该创建并显示图像.
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
{
// append the new data to the receivedData
// receivedData is declared as a method instance elsewhere
[receivedData appendData:data];
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此文档.
| 归档时间: |
|
| 查看次数: |
3698 次 |
| 最近记录: |