Изменение NSImage в XCode - эта строка кода не работает - PullRequest
1 голос
/ 29 ноября 2009

У меня проблема, которая съедает меня заживо. Я действительно надеюсь, что мне здесь чего-то не хватает. Похоже, это довольно "n00b" проблема.

У меня есть пустое NSImageView, которое я хочу отображать при нажатии кнопки - просто так.

Вот моя строка кодирования

NSBundle *mb = [NSBundle mainBundle];
NSString *fp = [mb pathForResource:@"tiles" ofType:@"PNG"];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:fp];
if ( [image isValid] ) {
    [selection setImage:image];
    [selection setImageScaling:NSScaleProportionally];
}

Принимая во внимание,

tiles.PNG ресурс в моем комплекте

и если [image isValid] удовлетворено, потому что я вставил фиктивный код в предложение и получил эту работу

selection определяется в моем заголовочном файле следующим образом

IBOutlet NSImageView *selection;

Он также связан с делегатом приложения в IB.

У меня такое чувство, что я не могу связать его должным образом?

Почему изображение не отображается? Если кто-то может увидеть ошибку - или предоставить мне рабочий код - я был бы оооочень благодарен

Brian

Ответы [ 4 ]

1 голос
/ 03 декабря 2009

Вам нужно использовать отладчик и посмотреть, что происходит во время его работы. Фп ноль? Нулевое изображение? Нулевой выбор? Отладчик - твой друг.

1 голос
/ 30 ноября 2009

Это не проблема со связыванием - ваше приложение даже не запустится (при условии, что оно даже успешно установит ссылки), если вы не смогли установить связь с Cocoa или AppKit.

Скорее всего, вы либо не подключили розетку к представлению изображения в своем наконечнике, либо еще не загрузили наконечник. Способ проверить это: NSLog значение указателя imageView с использованием форматера %p.

1 голос
/ 30 ноября 2009

У меня была похожая проблема, когда мой вид не отображался, и оказалось, что вид был скрыт. Это был параметр в свойствах представления в Интерфейсном Разработчике. Просто пунт, но попробуй.

0 голосов
/ 30 ноября 2009

вы не забыли отправить -setNeedsDisplay в NSImageView после установки изображения?

...