我想将uiimage设置为函数范围之外的变量。我尝试了下面的代码,但它不起作用。下面的代码用于自定义的uitable视图单元类。所以我只是无法分配和初始化它。因为这会导致每次显示/滚动单元格时对其进行初始化
uiimage *img;
[manager downloadWithURL:[NSURL URLWithString:friendData.picUrl] options:SDWebImageRefreshCached progress:^(NSInteger receivedSize, NSInteger expectedSize) {
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
img =image; ////this is not working !!
}];
dispatch_async(dispatch_get_main_queue(), ^{
[cell.profileImage setImage:img]; //and off course this wont work too
});
答案 0 :(得分:1)
我认为您可能只需要设置__block UIImage image = nil;
答案 1 :(得分:0)
您可以使用任何其他初始化方法初始化image1
:
试试这个:
image1 = UIImage.init(CGImage:image.CGImage);
Initializer方法将根据this文档创建新对象。
我没试过。请尝试它是否有效。如果不工作只是评论我,我可能会找到其他解决方案。
答案 2 :(得分:0)
你需要分配image1才能使它在函数中运行。这个
image1 = [[UIImage alloc] initWithCGImage: image.CGImage];