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 недоступен внутри блока.
Может кто-нибудь помочь?