ios6 - iOS 6,SDWebImage 成功/失败 block 错误。不兼容的 block 指针类型?

标签 ios6 sdwebimage

我通过 setImageWithURL 将图像延迟加载到嵌入 UIScrollView 中的 UIImageView 中。

由于这是一个照片库,因此我尝试使用“成功”代码块来设置 myScrollView 的 contentSize 和 ImageView 的框架,以便在完全加载后它可以正确缩放。

问题是,我在通话中使用“成功”时不断收到奇怪的错误。如果我注释掉该方法的成功/失败部分,它可以工作,但我无法判断图像何时完成加载,因此无法正确调整容器大小以使其正确缩放...帮助?

错误:

Incompatible block pointer types sending 'void (^)(UIImage *__strong)' to parameter of type 'SDWebImageSuccessBlock' (aka 'void (^)(UIImage *__strong, BOOL)')

我在以下代码中收到的错误是@以success:^...开头的行吗

代码:

 [_ivFullSize setImageWithURL:[NSURL URLWithString:[currentPhoto PhotoAbsoluteLocation]]
placeholderImage:[UIImage imageNamed:@"loading.png"]
success:^(UIImage *image){
                         [DejalBezelActivityView removeViewAnimated:YES];
                         self.myScrollView.contentSize = self.ivFullSize.image.size;
                         self.ivFullSize.frame = CGRectMake(0, 0,     self.ivFullSize.image.size.width, self.ivFullSize.image.size.height);
                     }
                     failure:^(NSError *error){
                                    [DejalBezelActivityView removeViewAnimated:YES];
                     }];

最佳答案

我最近遇到了同样的问题,将SDWebImage版本升级到最新版本后。我不知道为什么会发生这种情况,但我认为这是功能 block 中未记录的更改。基本上该函数返回一个附加的 bool 参数。

因此,在不知道问题原因的情况下,我通过简单地向 block 添加一个新的 bool 参数来解决它。而不是写

...
success:^(UIImage *image)
{
  ... do something with image
}
failure:^(NSError *error)
...

我使用了以下内容:

...
success:^(UIImage *image, BOOL dummy)
{
  ... do something with image and ignore dummy
}
failure:^(NSError *error)
...

这消除了引发的错误,但仍然对附加 bool 变量的性质留下了疑问。任何额外的文件或澄清将不胜感激。文档 here仍指旧版本。

关于ios6 - iOS 6,SDWebImage 成功/失败 block 错误。不兼容的 block 指针类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035831/

相关文章:

ios - 如何为 UICollectionViewFlowLayout 中的每个单元格添加标题/标签补充 View ?

ios - preferredInterfaceOrientationForPresentation 必须返回支持的界面方向

objective-c - 在 ios6 中,将 pageViewController 的 gestureRecognizers 委托(delegate)设置为 viewController 会导致崩溃

objective-c - IOS & Objective C - 我如何解决这个错误 "implicit declaration of function "class_getname "is invalid in c99"?

objective-c - 带有自动换行和截断的两行 UILabel 也在垂直顶部对齐

ios - SDWebImage UITableView 单元格图像不持久化

ios - 将 UIImageView 与 SDWebImage 一起使用

ios - 如何使用 SDWebImage 将图像从 JSON 加载到 UIImageView?

iphone - 下载图像时出现内存警告和应用程序崩溃

ios - 使用 Swift 解析中的 SDWebImage 实现