0

シンプルなiPhoneアプリを持っています。しかし、それはIBActionなしでそれ自体を制御しています。コードの疑わしい部分はこれです。

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

iOS 4.2より前のバージョンでは、アプリは期待どおりに動作しています。ただし、iOS 4.2以降のバージョンでは、セレクター関数は、タッチまたはその他のIBActionなしで呼び出されます。それで、なぜそれは呼ばれるのですか?

4

1 に答える 1

0

コードが行っていることは、システムの通知センターにオブザーバーを追加することです。そのため、電話が通知を受信すると、コードはそのオブジェクトを使用してセレクターを自動的に実行します。

NSNotificationCenterおそらく、iOS 4.2 でから送信される通知の種類が変更されたことが原因です。

于 2012-05-31T02:38:43.677 に答える