Как использовать блокировку успехов и неудач в SDwebiimage

У меня есть последняя версия SDWebimage, но она не имеет успеха и неудачи. Я пробовал следующий метод, но SDwebimage не имеет метода

[self.imageView setImageWithURL:[NSURL URLWithString:self.imageURL]
              placeholderImage:[UIImage imageNamed:@"YourPlaceholder.png"]
                       success:^(UIImage *image) {
                           // remove animation

                       }
                       failure:^(NSError *error) {
                           NSLog(@"thumbnail error: %@",error);
                           // handle failed download

                       }];

Кто-нибудь знает, как добавить блок успеха и неудачи в SDwebimage setImageWithURL или любую другую альтернативу, которую я хочу обработать, если при получении изображения с URL-адреса возникает какая-то ошибка?


person DAMM108    schedule 11.03.2014    source источник


Ответы (4)


Попробуй это:

[self.imageView setImageWithURL:[NSURL URLWithString:imageURL]
                   placeholderImage:[UIImage imageNamed:@"YourPlaceholder.png"]
                          completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                              //... completion code here ...
                          }];
person EnriMR    schedule 11.03.2014

Решение для Swift 3:

cell.imageView?.sd_setImage(with: url) { (image, error, cache, urls) in
            if (error != nil) {
                //Failure code here
                cell.imageView.image = UIImage(named: "ico_placeholder")
            } else {
                //Success code here
                cell.imageView.image = image
            }
}

Решение для цели C:

[cell.imageView sd_setImageWithURL:url
                  placeholderImage:nil
                         completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
                                if (error) {
                                  //Failure code here
                                  self.imageView.image = [UIImage imageNamed:@"ico_placeholder"];
                                } else {
                                  //Success code here
                                  self.imageView.image = image;
                                }
}];

Надеюсь, вы найдете это полезным.

person Ankit Kumar Gupta    schedule 02.02.2017

            imageView.sd_setImageWithURL(NSURL(string: urlString), completed: {
                (image, error, cacheType, url) in
                // do your custom logic here
            })

пример кода для Swift 2.0

person Nik Yekimov    schedule 05.10.2015

у него есть блок завершения

completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType)

Вы можете проверить, если ошибка равна нулю, тогда все в порядке.

person Nikita Took    schedule 11.03.2014
comment
Да вот чем я сейчас занимаюсь - person DAMM108; 11.03.2014