Как проверить, с какого URL было установлено изображение? - PullRequest
0 голосов
/ 21 февраля 2020

Я установил image, используя url, например:

[self.imageView setMyImageWithURL:[NSURL URLWithString:[trip.destination getHeaderImageUrl] ]];
- (void)setMYImageWithURL:(NSURL *)url {
    [self setBackground];

    if(url.absoluteString.length >0){
        __block UIImageView *safeSelf = self;
        UIImage *placeholderImage = [UIImage imageNamed:[NSString stringWithFormat:@"placeholderpic_%@.png", NSLocalizedString(@"LanguageCode" , @"")]];
        [self setImageWithURLRequest:[NSURLRequest requestWithURL:url]
                    placeholderImage:placeholderImage
                             success:nil
                             failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
                                 safeSelf.image = [UIImage imageNamed:[NSString stringWithFormat:@"placeholderpic_%@_missing.png", NSLocalizedString(@"LanguageCode" , @"")]];
                             }
         ];
    }else{
        self.image = [self missingImage];
    }
}

Теперь есть способ проверить imageView url после того, как он был установлен. Мол, NSLog(@"%@", self.imageView.usingURL). Я хотел бы проверить, совпадает ли это с другим url, используя условное выражение. Как то так:

if(self.imageView.usingURL == [NSURL URLWithString:[trip.destination getHeaderImageUrl]])

1 Ответ

1 голос
/ 21 февраля 2020

Используйте эту категорию, чтобы добавить свойство в UIImageView

@interface UIImageView (URLImageView)
    @property NSURL* usingURL;
@end

@implementation UIImageView (URLImageView)]
@end

Теперь, когда загрузка изображения и установка на просмотр изображения назначают URL для просмотра изображения как

self.imageView.usingURL = yourURL

Теперь вы можете получить доступ к этому URL для сравнения.

...