2012-05-22 3 views
1

В проекте примера кода Apple MoviePlayer, я хочу понять, что при запуске примера приложения локальное видео воспроизводится сразу программно.Как сменить образец кода Apple Project MoviePlayer

добавить последние 2 предложения:

[self.tabBarController setSelectedIndex:1]; 
[self performSelector:@selector(playMovieButtonPressed:) withObject:tabBarController.selectedViewController afterDelay:0.0]; 

в функции ниже:

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    /* Override point for customization after app. launch. */ 

    /* Add the tab bar controller's current view as a subview of the window. */ 
    [window addSubview:tabBarController.view]; 
    [window makeKeyAndVisible]; 
    [self.tabBarController setSelectedIndex:1]; 
    [self performSelector:@selector(playMovieButtonPressed:) withObject:tabBarController.selectedViewController afterDelay:0.0]; 
} 

но получаю следующее сообщение об ошибке:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MyLocalMovieViewController playMovieButtonPressed]: unrecognized selector sent to instance 0x6190330'

Пожалуйста, помогите, спасибо!

+0

Ваш код странно, потому что 'applicationDidFinishLaunching:' метод обычно реализуется в 'AppDelegate' классе, но это выглядит как он называется в вашем Класс MyLocalMovieViewController? Если вы вызываете self 'perfromSelector:', то класс, который вы его вызывали, должен реализовать метод 'playMovieButtonPressed:' – DanSkeel

+0

Спасибо Даничу и Секи. Я получил следующую ошибку, когда добавляю предыдущие 2 предложения к applicationDidFinishLaunching из MoviePlayerAppDelegate: «Завершение приложения из-за неперехваченного исключения» NSInvalidArgumentException », причина: '- [MoviePlayerAppDelegate playMovieButtonPressed:]: непризнанный селектор, отправленный экземпляру 0x6285470'". Я просто хочу понять, что, когда приложение запускается, оно переходит к второму табуляции напрямую, а кнопка «воспроизведение (локальное) видео» во второй вкладке щелкается программно. Пожалуйста, помогите.thanks.Пожалуйста, пренебречь моей первой иллюстрацией. Просто сосредоточьтесь на этой иллюстрации. – user1188849

+0

Если вы хотите что-то изменить, не комментируйте, лучше отредактируйте свой вопрос и введите ** изменить: ** в конце и предоставить информацию для редактирования – DanSkeel

ответ

1

Вы должны получить указатель на свой MyLocalMovieViewController и просто сделать что-то вроде

[pointer playMovieButtonPressed:nil] 
+0

Отлично! Спасибо Даничу так много! Ваш метод работает! Я установил скрытую панель вкладок и добавлю следующее: [self playMovieButtonPressed: nil]; в viewdidload MyLocal ... – user1188849

+0

Извините, другой вопрос появляется. Я хочу вызвать и запустить этот MoviePlayer из моего другого проекта. Но у этого MoviePlayer нет xib-файлов, просто есть файлы MainWindow.Xib и SecondView.Xib. Я не могу запустить образец MoviePlayer из моего другого проекта, используя initWithNib. Я сталкиваюсь с той же проблемой ранее в моей другой теме вопроса и до сих пор не решен: http://stackoverflow.com/questions/10600979/how-to-add-a-ready-to-use-project-created-and-started-with -application-delegat – user1188849

+0

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