私のアプリは、ビュー (ビュー 1) でビュー コントローラーによって表示されるビデオを、アプリのメニュー/ナビゲーションの背景として使用します。ボタンはビデオの上部に配置され、ビデオの場所に応じて、ボタンはアプリのさまざまなセクションに移動します。別のセクション (ビュー 2 など) に移動してからビュー 1 に戻るまで、正常に動作します。その後、ビュー 1 で通知がクラッシュします。
[NSKeyValueObservance movieStateChangeCallback:]: 認識されないセレクターがインスタンス 0x13e920 2012-10-27 08:50:04.830 AppName[13707:707]に送信されましたインスタンス 0x13e920 に送信されたセレクター
View 1 の init メソッドに追加する通知は次のとおりです。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieStateChangeCallback:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:player];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:player];
playerは、次のように宣言された View 1 のプロパティです。
@property (strong) MPMoviePlayerController *player;
これはおそらく、プレーヤーの割り当てが解除されていることを意味していると思いますか? ビデオを含むビュー1に戻ると、他のすべてが正常に機能します。クラッシュするのは通知だけです。
ユーザーがビュー 1 に戻ると、ビュー 1 が再初期化されます。
ARCを使用しています。