不兼容的块指针类型

不兼容的块指针类型

在过去的一个小时里,我一直在努力解决这个问题,经过无休止的搜索似乎看不到问题所在。我是Objective-C开发的新手,最近使用了一个新的代码库作为学习工具。

我正在尝试将图像设置为具有占位符图像的单元格,并在完成请求后将图像设置为单元格的边界。但是,由于以下错误,代码失败:

不兼容的块指针类型发送'void(^)(UIImage * __ strong,NSError * __ strong,SDImageCacheType)'

搜索SO和其他资源后,我所能找到的就是确保确实返回了void。您可以从下面的代码中看到什么都没有返回,因此它是无效的。

if(imageURL != nil)
{
    cell.productImageView.contentMode = UIViewContentModeCenter;
    __weak typeof(cell) weakCell = cell;
    [cell.productImageView sd_setImageWithURL:imageURL placeholderImage:[UIImage sd_animatedGIFNamed:@"loading-indicator"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
        if (image)
        {
            [weakCell.productImageView setContentMode:UIViewContentModeScaleAspectFill];
        }
    }];
}


这是该特定项目的标题代码:

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock;


提前致谢!

最佳答案

SDWebImage的最新API略有不同,因此请为此代码更改代码:

if(imageURL != nil)
{
    cell.productImageView.contentMode = UIViewContentModeCenter;
    __weak typeof(cell) weakCell = cell;
    [cell.productImageView sd_setImageWithURL:imageURL placeholderImage:[UIImage sd_animatedGIFNamed:@"loading-indicator"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
        if (image)
        {
            [weakCell.productImageView setContentMode:UIViewContentModeScaleAspectFill];
        }
    }];
}

关于ios - 不兼容的块指针类型-sd_setImageWithUrl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29064562/

10-13 04:27