2012-04-23 10 views
0

Я не могу получить онлайн-изображение GIF для загрузки в NSImageView. Посмотрите мой код ниже и предложите некоторые комментарии, чтобы исправить это.Загрузка онлайн-изображения GIF в NSImageView

#import <Foundation/Foundation.h> 

@interface ImageFromUrl : NSObject 

@property (strong) NSString *urlString; 
@property (strong) NSURL *url; 
@property (strong) NSImage *radarGif; 
@property (weak) IBOutlet NSImageView *radarGifView; 

- (void)displayUrlImage:(id)sender; 

@end 

и

#import "ImageFromUrl.h" 

@implementation ImageFromUrl 

@synthesize urlString, url, radarGif, radarGifView; 

- (void)displayUrlImage:(id)sender { 
    urlString = @"http://icons.wunderground.com/data/640x480/2xradarb5.gif"; 
    url = [NSURL URLWithString:urlString]; 

    radarGif = [[NSImage alloc] initWithContentsOfURL:url]; 
    [radarGifView setImage:radarGif]; 
} 

@end 

Я не буду получать никаких ошибок при запуске приложения и изображение GIF не отображается в окне.

+0

Какой результат вы видите? Любые сообщения об ошибках? Вы подключили розетку к вашему изображению? – rdelmar

+0

Проверьте и убедитесь, что изображение даже существует – Otium

+0

Кроме того, НЕ загружайте изображения таким образом. Вы должны загружать удаленные ресурсы асинхронно, ваш код блокирует основной поток, пока изображение не будет получено с удаленного сервера. Вы должны использовать «NSURLConnection» или стороннюю альтернативу. –

ответ

2

Я поместил этот код в проект, и он работал нормально, поэтому код работает. Как вы подключили выход к представлению изображения (у вас есть объект в IB, который является экземпляром этого класса)? Как вы называете метод (и откуда)?

+0

Дух, я забыл вызвать метод. Я просто добавил 'awakeFromNib', чтобы вызвать метод displayUrlImage, и все работает нормально. Спасибо за указание на это. Иногда я забываю основы, особенно если я не запрограммировал время. – wigging