我正在使用MPMoviePlayerViewController
播放视频。视频播放器将显示为presentModalViewController
。如果视频已完成且视图已被关闭。我收到错误:
-[MPTransportButton _isChargeEnabled]: message sent to deallocated instance 0x4bf6cb0
但我不知道,错误发生在哪里。
提前致谢。
问候语,
帕特里克
答案 0 :(得分:2)
删除模式时,您可能会尝试多次关闭视频播放器?
确保在取消玩家视图之前取消注册所有通知(MPMoviePlayerLoadStateDidChangeNotification,MPMoviePlayerPlaybackStateDidChangeNotification,...)
- (void)closeVideoPlayer
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
if (mp)
{
[mp stop];
[mp.view removeFromSuperview];
mp = nil;
[self dismissModalViewControllerAnimated:animated];
}
}
祝你好运!
答案 1 :(得分:2)
与jotaefe的答案相关:检查以确保在释放MPMoviePlayerController后MPMoviePlayerController的视图仍不在层次结构中。这种情况可能会留下对您的一些MPMoviePlayerController的视图子视图的悬空引用,这反过来可能会导致您的僵尸“消息被发送到解除分配的实例”错误。
答案 2 :(得分:0)
消息显示:MPTransportButton
的值0x4bf6cb0
的对象已被释放,然后再次使用。
因此,您需要找到已发布然后重用的MPTransportButton
类型的对象。