iOS: окно информации о динамическом маркере

Я пытаюсь динамически загрузить изображение в информационное окно. Проблема в том, что SDWebImage никогда не завершается. Однако, как только я снова нажимаю маркер, изображение отображается и вызывается завершение, но никогда не в первый раз. Мой журнал для «запуска» отображается в первый раз, поэтому я знаю, что код вызывается, но завершение никогда не отображается при первом запуске, если изображение не кэшировано, и в этом случае оно будет отображаться при втором касании маркера.

Примечание: я сохраняю ссылку на изображение в сниппете, так как у меня нет другого применения.

Любые идеи, почему SDWebImage не завершается? Или есть лучший подход к этому, о котором кто-то еще может подумать?

Последнее, что я вижу под блоками в документации, говорит следующее, что кажется подходящим, но я не понимаю, как я могу отменить запрос, чтобы вызвать такое поведение.

Примечание. ни ваш блок успеха, ни блок отказа не будут вызываться, если ваш запрос изображения будет отменен до завершения.

bool tapped = NO;

-(BOOL) mapView:(GMSMapView *) mapVieW didTapMarker:(GMSMarker *)marker{
    tapped=YES;
    [mapVieW setSelectedMarker:marker];
    return YES;
}

- (UIView *)mapView:(GMSMapView *)mapVieW markerInfoWindow:(GMSMarker *)marker{
    if([marker.snippet isEqualToString:@""] || [marker.snippet isEqualToString:nil]){
        //no image
        tapped = NO;
        //code here
        return view;
    }else{
        //image
        //code for custom view which is unimportant
        if(tapped){
            NSLog(@"run");
            [image setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", URL_PREFIX, marker.snippet]] placeholderImage:[UIImage imageNamed:@"you"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                NSLog(@"complete");
                tapped=NO;
                [mapView setSelectedMarker:nil];
                [mapView setSelectedMarker:marker];
            }];
        }
        return view;
    }
}

person user577732    schedule 08.05.2014    source источник
comment
У меня такая же проблема и пока не могу решить.   -  person SirKometa    schedule 13.05.2014
comment
@SirKometa, как и я, это довольно раздражающая проблема, но я думаю, что она определенно связана с SDWebImage, поэтому я собираюсь создать проблему на их github и, возможно, попробовать некоторые другие библиотеки.   -  person user577732    schedule 13.05.2014
comment
Я думаю, что это может быть не из-за SDWebImage. Я тестировал различные библиотеки асинхронной загрузки изображений (и нативную реализацию), и ни один из них не работал. Даже мои методы, работающие в разных местах приложения, не работают должным образом в markerInfoWindow. Удачи!   -  person SirKometa    schedule 14.05.2014
comment
@SirKometa спасибо за ответ, я все еще собираюсь попробовать несколько других библиотек, а также свои собственные методы, и если я сделаю прорыв, я обязательно дам вам знать и надеюсь, что вы сделаете то же самое для меня.   -  person user577732    schedule 14.05.2014
comment
нормальное изменение значения в блоке завершения также не работает.   -  person souvickcse    schedule 23.12.2014