2013-08-01 7 views
1

Если я начну с реализации минималистического пользовательского интерфейса, состоящего из добавления единственного UIButton (с соответствующим IBOutlet) к представлению по умолчанию в раскадровке по умолчанию и добавлению метода действия к моему классу контроллера, тогда все работает правильно (т.е. мое действие вызывает, когда я нажимаю кнопку).iOS MediaPlayer вызывает крах приложения

Теперь, если я просто включить MediaPlayer/mediaplayer.h на мой взгляд, заголовочный файл контроллера, так:

#import <UIKit/UIKit.h> 
#import <MediaPlayer/MediaPlayer.h> 

@interface Playing_Video_FilesViewController : UIViewController 

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer; 
@property (nonatomic, strong) IBOutlet UIButton *playButton; 

@end 

и добавьте рамки MediaPlayer к проекту, он выходит из строя с печально известной «этот класс а не ключевое значение, соответствующее кодированию для ключевого playButton ".

Если я удаляю ссылку на среду MediaPlayer из проекта, она перестает сбой. Если я вместо этого удаляю кнопку, но оставляю среду MediaPlayer, она также перестает разбиваться.

Есть ли что-то еще, что я должен сделать, чтобы использовать MediaPlayer и базовый стандартный интерфейс одновременно?

Edit: Я обходил эту проблему, создав файл .xib вместо того, чтобы использовать раскадровку, например, как это сделано в примере приложении VideoPlayer, которая не использует раскадровку. Тот же код, но теперь он работает.

+0

Вы синтезировали свойства в своем файле m и убедились, что вы правильно подключили IBOutlet в playbutton? – rydgaze

+0

Да, я поставил синтез. Я создал свойство UIButton, управляя перетаскиванием из UIButton в своем раскадровке в файл .h-файла. Так что это, безусловно, хорошо подключен. Я сбит с толку. –

+0

Вы можете перейти к навигатору точки останова в xcode, используя технику, указанную в этом сообщении: http://stackoverflow.com/questions/11275608/this-class-is-not-key-value-coding-compliant-for-the- key-xxx – rydgaze

ответ

0

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

1.) Open storyboard 
2.) Select playButton 
3.) Remove all outlets and actions from this item 
4.) Remove plugs from your class that were previously attached (especially in dealloc) 
5.) Create new outlet and control-drag from the storyboard to your class. Good to go. 

-А немного перехитрить, но выполняет эту работу для меня каждый раз.

+0

Вот что я сделал. Что-то, что ему не нравится в среде MediaPlayer. Все остальное работает. –

Смежные вопросы