Я хочу, чтобы сохранить UIImages в NSMutableDictionary, который является свойством в методе блока,доступ NSMutableDictionary свойство в блоке
__block UIImage *headImage = [[UIImage alloc] init];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
headImage = [self getImageFromURL:status.user.profile_image_url];
dispatch_async(dispatch_get_main_queue(), ^{
[headImageView setImage:headImage];
[[self contentView] addSubview:headImageView];
});
});
При отладке getImageFromURL я нашел каждый раз, когда iconDict пуста, и метод возвращает before setObject: forKey.
-(UIImage *) getImageFromURL:(NSString *)imageUrl {
UIImage * image = [[UIImage alloc] init];
if(iconDict)
{
image = [_iconDict objectForKey:imageUrl];
if (image) {
return image;
}
} else {
_iconDict = [NSMutableDictionary dictionaryWithCapacity:3];
}
image = [self loadImage:imageUrl];
[_iconDict setObject:image forKey:imageUrl];
return image;
}
Что беспокоиться по этому поводу?
Почему выделяют 'headImage', а затем назначить его в блоке? – trojanfoe
Поскольку изображения, возможно, не были загружены, они получат данные по URL-адресам изображений. Это более плавно обрабатывать в другом потоке. –