2016-01-25 2 views
0

Я следую инструкциям Alien Invaders в книге «Learning Objective-C By Developing iPhone Games».Невозможно загрузить UIImageView

Я введен следующий код в файле .m, то книга сказал мне, чтобы запустить следующий код:

@interface GameViewController() 
    @property (strong) UIImage *playerImage; 
    @property (strong) UIImageView *playerView; 
@end 


@implementation GameViewController 

    - (void)viewDidLoad { 
     [super viewDidLoad]; 

     //Assign an image to a variable 
     self.playerImage = [UIImage imageNamed:@"ship.png"]; 

     //Create an image view and start it up with out image 
     self.playerView = [[UIImageView alloc] initWithImage: self.playerImage]; 

     //Set the image views bounding rectangle to scale the image. 
     self.playerView.frame = CGRectMake(50,400, 32,32); 

     //Show the image on the screen. 
     [self.view addSubview: self.playerView]; 
    } 
} 

Я попытался запустить код на тренажере, однако возникает следующая ошибка. Почему это происходит?

Alien-Invaders[565:10012] Could not load the "backdrop.png" image referenced from a nib in the bundle with identifier "Chris.Alien-Invaders" 

ответ

0

Похоже, если вы посмотрите в файлы интерфейса - есть элемент, который ссылается на «backdrop.png». Вам либо нужно добавить изображение, либо удалить элемент, ссылающийся на него.

+0

Я не ссылается на «backdrop.png» где угодно. Я создал класс GameViewController. Единственное кодирование, которое я написал, находится в файле .m (вставляется в мой вопрос), в котором мне рассказывали книгу. Я всего лишь несколько страниц, но в книге говорилось, что теперь я должен видеть фон, когда запускаю свой код. Я довольно новичок в Objective-C, но чувствую, что эта книга пропускает некоторые ключевые моменты. –

+0

@ C-Smith - это новый проект, который вы начали или это уже существующий проект, в который вы добавляете свой GameViewController. Похоже, что существующий проект, вероятно, есть материал, который вы не создали, но он ссылается на то, чего там нет. – MikeT

+0

, если вы не хотите проходить через все, просто создайте новое изображение и назовите его «backdrop.png» и добавьте его в проект. – MikeT

0

Пожалуйста, проверьте скриншот, когда вы перетащите backdrop.png в проект Xcode вы будете видеть эти экраны, пожалуйста, нажмите на Копирование элементов При необходимости кнопку Готово, чтобы скопировать изображение в Xcode проекта enter image description here

+0

Итак, какое действие нужно предпринять, чтобы сделать UIImageView («backdrop.png»)? Как я уже упоминал, тогда только кодирование, которое я написал, находится в классе GameViewController.m. На раскадровке я перетащил UIImageView на экран, затем я выбрал образ «backdrop.png». –

+0

Вы можете проверить «Фазы сборки» -> «Копировать ресурсы пакета» и проверить, присутствует ли ваш образ или нет. –

+0

Большое спасибо Reshmi! Это, наконец, сработало! :) –