iPhone应用程序是自我控制的。为什么?

iPhone应用程序是自我控制的。为什么?,iphone,objective-c,mpmovieplayercontroller,ibaction,Iphone,Objective C,Mpmovieplayercontroller,Ibaction,我有一个简单的iPhone应用程序。但它在控制自己而不采取行动。这是代码中可疑的部分 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPl

我有一个简单的iPhone应用程序。但它在控制自己而不采取行动。这是代码中可疑的部分

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

比iOS 4.2更早的版本,该应用程序的性能与我预期的一样。但是在iOS 4.2和下一版本中,调用选择器函数时不需要触摸或任何其他iAction。那为什么叫它

您的代码所做的是向系统的通知中心添加一个观察者。因此,当手机收到通知时,您的代码会自动对该对象执行选择器


可能发生的情况是,
NSNotificationCenter
发送的通知类型在iOS 4.2中发生了变化,实际上问题是我应该使用MPMoviePlayerController而不是MPMoviePlayerController。在iOS 4之后,第一节课更好了。我发现了问题。只要是MPMoviePlayerController。默认情况下,其shouldautoplay属性为TRUE。这就是为什么电影不被触摸就播放。你能澄清一下在什么情况下这个选择器被称为选择器吗?是否每次运行应用程序时,或在执行某些其他操作后都会发生这种情况?它只打一次电话吗?