NSImage возвращает ноль, даже если файл png находится в папке ресурсов

Я пытаюсь загрузить изображение с помощью метода NSImage imageNamed:, но безуспешно

Я скопировал изображение в папку проекта: Проект> Ресурсы и добавил в проект, используя: «Добавить файлы в проект ...»

    NSImage* image = [NSImage imageNamed:@"logosH"];

    if (image == nil){

        NSLog(@"NULL :/");
    }

    NSImageView *accessory = [[NSImageView alloc] initWithFrame:NSMakeRect(0,0,200,55)];
    [accessory setImageScaling:NSScaleToFit];
    [accessory setImage:[NSImage imageNamed:@"logosH.png"]];
    [myAlert setAccessoryView:accessory];

    [myAlert setIcon:[NSImage imageNamed:@"HipArthroplastyTemplating.tiff"]];

    [myAlert runModal];

вот код. Я пробовал все объяснения и решения, которые могу найти в других вопросах, но не работает, я получаю сообщение NULL в консоли, а setIcon загружает что-нибудь

я предполагаю, что это что-то с пакетом или что-то в этом роде (я изучаю Objective-C, так что это новое)

Я использовал код примера разработчика какао, но не работает, я попытался загрузить свое изображение в этот проект, и он там работает !!! но нет в моем проекте: /

любая помощь, любая идея? большое спасибо


person Giquo    schedule 07.12.2013    source источник
comment
myAlert setIcon:[NSImage imageNamed:@"HipArthroplastyTemplating.tiff"]]; отсутствует открывающая скобка.   -  person nhgrif    schedule 07.12.2013
comment
NSLog(@"NULL :/"); печатает?   -  person nhgrif    schedule 07.12.2013
comment
по крайней мере, я могу сделать вывод, код правильный, потому что это код из примера разработчика какао, и я тестировал там свое изображение, я думаю, что я неправильно импортирую файлы, но они находятся в папке ресурсов в поисковике и в проекте в Xcode   -  person Giquo    schedule 07.12.2013
comment
Вы должны быть уверены, что они копируются в папку "Ресурсы" в вашем пакете приложений. Может быть, проверить на них целевое членство?   -  person Wevah    schedule 07.12.2013
comment
Я думаю, что это причина, но я совсем не любитель какао, поэтому я не понял этого о пакете приложений. Могу сказать, что изображение находится в папке Resource в проекте и в папке Resource в Finder.   -  person Giquo    schedule 07.12.2013
comment
изображение, показывающее ... dropbox.com/s/ trfe34io58n04ty / Sin% 20t% C3% ADtulo.png? m =   -  person Giquo    schedule 07.12.2013
comment
Вы забыли добавочный номер при первом звонке на -imageNamed:. Вот почему в журнале печатается NULL: /   -  person Emmanuel    schedule 08.12.2013


Ответы (1)


Ваше изображение пустое, потому что оно не найдено. Это может произойти, если ваше изображение не скопировано в вашем пакете или если имя файла неверно.

Важное примечание. Очищайте проект перед каждым тестом, чтобы гарантировать обновление ресурсов.

Имя изображения также должно содержать расширение, за исключением .png, где это не обязательно. Если проблема не исчезла, то, скорее всего, файла нет в вашем пакете. Чтобы узнать, скопировано ли изображение в ваш пакет, щелкните изображение в Навигаторе проекта (⌘ + 1) и проверьте его в Инспекторе файлов (⌘ + ⌥ + 1 ) в разделе Целевое членство установите флажок рядом с названием вашего проекта.

Целевое членство

Если проблема не решена, перейдите в навигатор проекта к файлу проекта (первый файл вверху). Убедитесь, что слева выбрано имя вашего проекта в разделе Цель. Затем перейдите на вкладку Этапы сборки и откройте раздел Копировать ресурсы пакета. Если вашего изображения нет в списке, вы должны добавить его с помощью кнопки «+» внизу.

введите описание изображения здесь

person madeinqc    schedule 08.12.2013
comment
спасибо, я перемещал ресурсы, и они пропали из ресурсов Copy Bundle - person kaznovac; 23.09.2018