2012-05-31 59 views
0

我有一個簡單的iPhone應用程序。但它沒有IBAction就控制着自己。可疑的部分代碼是這樣的。iPhone應用程序是自我控制的。爲什麼?

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:mMoviePlayer]; 

早於iOS 4.2的版本,應用程序按照我的預期行事。但iOS 4.2及其後續版本中,選擇器功能被調用而不被觸摸或任何其他IBAction。那爲什麼叫它?

+0

你能澄清已經改變下這個選擇叫什麼情況?每次運行應用程序時,或者在發生了其他某些操作之後,它會發生嗎?它只打一次電話嗎? – 2012-05-31 12:39:03

回答

0

你的代碼在做什麼是添加一個觀察者到系統的通知中心。因此,當手機收到通知時,您的代碼會自動執行該對象的選擇器。

很有可能發生的事情是,類型由NSNotificationCenter發送的通知在iOS 4.2的

+0

其實問題是,我應該使用MPMoviePlayerViewController而不是MPMoviePlayerController。在iOS 4之後,第一類是BETTER。[鏈接](http://d.hatena.ne.jp/shunsuk/20100625/1277471366) –

+0

我發現了這個問題。只要它是MPMoviePlayerController。它的shouldautoplay屬性在默認情況下爲TRUE。這就是爲什麼電影沒有被觸及而播放。 –

相關問題