如何将ui图像复制到另一个变量?

时间:2014-09-19 05:31:42

标签: ios objective-c uiimageview uiimage

我想将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

    });

3 个答案:

答案 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];