Свойство NSImage всегда возвращает нуль?

У меня есть собственный класс под названием фильм. Это просто с тремя свойствами:

.час

@interface WTAMovie : NSObject

@property (strong, nonatomic) NSImage *theImage;
@property (strong, nonatomic) NSString *theTittle;
@property (strong, nonatomic) NSString *theBlurb;


@end

.m имеет инициализатор, который устанавливает некоторые значения по умолчанию для свойств, и метод описания, возвращающий значения свойств, если пользовательский объект зарегистрирован. Как это.

-(NSString *)description
{
NSString *desc = [NSString stringWithFormat:@"<Movie> - theImage = %@, theTittle = %@,     theBlurb = %@", _theImage, _theTittle, _theBlurb];
return desc;
}

-(id)init
{

self = [super init];
if (self) {

    _theTittle = @"New Tittle";
    _theBlurb = @"Empty Blurb";


    NSString* imageName = [[NSBundle mainBundle] pathForResource:@"reel" ofType:@"png"];
    _theImage = [[NSImage alloc] initWithContentsOfFile:imageName];


    NSLog(@"from the person calss init: %@", _theImage);

}

return self;
}

В моем инициализаторе файлов Document.m я создаю новый объект Movie, помещаю его в массив, определенный для хранения объектов фильма, а затем регистрирую этот объект. как это:

- (id)init
{
self = [super init];
if (self) {
    // Add your subclass-specific initialization here.
    _movies = [NSMutableArray new];
    WTAMovie *firstMovie = [WTAMovie new];
    [_movies addObject:firstMovie];
    for (id object in _movies)
    {

        NSLog(@"%@", object);

    }

}
return self;
}

Вывод в консоли:

2013-07-15 13: 47: 57.174 HomeworkFour [5044: 303] - theImage = (null), theTittle = Новая Tittle, theBlurb = Пустая Blurb

Изображение ВСЕГДА говорит, что оно нулевое? Я не понимаю этого. Как вы видите, я устанавливаю его из файла, который я добавил в проект????

1 ответ

Решение

Хорошо, это закончилось тем, что было что-то глупое. Мой ресурс изображения был.jpeg и в моем: [[NSBundle mainBundle] pathForResource:@"reel" ofType:@"png"];

Я, очевидно, дал тип PNG.

Один комментарий, однако, это не тот случай, когда NSImage всегда будет показывать нуль в дескрипторе при входе в консоль. Как только NSImage будет правильно инициализирован при выходе из системы, объект покажет несколько частей информации об объекте, таких как расположение в памяти и некоторые параметры на экране.

Другие вопросы по тегам