からUIImageを返す私は、次のコードを持っている:ブロック
- (UIImage *) getPublisherLogo
{
//check the cache if the logo already exists
NSString * imageUrl = [NSString stringWithFormat:@"%@/%@&image_type=icon", self.baseUrl, self.imageUrl_];
ASIHTTPRequest * imageRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageRequest setTimeOutSeconds:30.0];
[imageRequest setDownloadCache:[ASIDownloadCache sharedCache]];
[imageRequest setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[imageRequest setCachePolicy:ASIAskServerIfModifiedWhenStaleCachePolicy|ASIFallbackToCacheIfLoadFailsCachePolicy];
[imageRequest setCompletionBlock:^(void){
UIImage *img = [UIImage imageWithData:[imageRequest responseData] ];
if (img){
return img;
}
}];
[imageRequest setFailedBlock:^(void){
NSLog(@"Error in pulling image for publisher %@", [[imageRequest error] userInfo]);
}];
[imageRequest startAsynchronous];
}
}
問題は、戻り値は/ UIImageがブロックで返されることです。これを避けるにはどうすればいいですか?
方法は、単に「publisherLogo」であることに注意してください。それは接頭辞 'get'を持つべきではありません。私は私のクラスのプロパティとしてUIImageを持っているとするとき、ブロックに戻り、最終的には、このUIImageを返すように設定した場合 – bbum