1
OK。我不完全清楚块,但我经常使用它们;尤其是在执行ASIHTTPRequest时。我想传递一个对象到块中,并在请求完成时为该对象分配一个值,但我不知道如何在块内使对象“可用”。将对象传入ASIHTTPRequest块
这里是我的方法......
- (void)fetchImageAsynchronously:(NSURL *)theURL intoImageObject:(UIImage *)anImageObject
{
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:theURL];
[request setDownloadCache:[ASIDownloadCache sharedCache]];
[request setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[request setCompletionBlock:^{
NSData *responseData = [request responseData];
anImageObject = [UIImage imageWithData:responseData];
}];
[request setFailedBlock:^{
// NSError *error = [request error];
}];
[request startAsynchronous];
}
因此,请求完成时,我想anImageObject的价值是获取图像。但anImageObject在块内不可用。
有人会好心帮忙吗?