Несовместимые типы указателей блоков SDWebImage

Я проверил некоторые ответы на этот вопрос, но это относится к моему коду, и я не могу заставить его работать. Какие-нибудь мысли?

Ошибка начинается с

completed:^(UIImage *image, NSError *...

Полный код

//Load from URL
        NSURL *url =[NSURL URLWithString:image.imageURL];


        SDWebImageManager *manager = [SDWebImageManager sharedManager];

        [manager downloadWithURL:url
                         options:0
                        progress:^(NSUInteger receivedSize, long long expectedSize)
         {
             // progression tracking code
         }
                       completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType)
         {
             if (image)
             {
                 // do something with image
             }
         }];

person William Falcon    schedule 18.03.2013    source источник


Ответы (1)


Из заголовка SDWebImageManager метод объявлен как:

- (id<SDWebImageOperation>)downloadWithURL:(NSURL *)url
                                   options:(SDWebImageOptions)options
                                  progress:(SDWebImageDownloaderProgressBlock)progressBlock
                                 completed:(SDWebImageCompletedWithFinishedBlock)completedBlock;

SDWebImageCompetedWithFinishedBlock объявляется так:

typedef void(^SDWebImageCompletedWithFinishedBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished);

Так что, похоже, вам не хватает finished BOOL

person Tom Irving    schedule 18.03.2013