我有这个方法(别人写的!
- (IBAction)showMasterPopover:(id)sender
{
if (_hiddenPopoverController && !(_hiddenPopoverController.popoverVisible)) {
// Inform delegate.
if (_delegate && [_delegate respondsToSelector:@selector(splitViewController:popoverController:willPresentViewController:)]) {
[(NSObject <MGSplitViewControllerDelegate> *)_delegate splitViewController:self popoverController:_hiddenPopoverController willPresentViewController:self.masterViewController];
}
// Show popover.
[_hiddenPopoverController presentPopoverFromBarButtonItem:_barButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
else if (_hiddenPopoverController.popoverVisible)
{
[_hiddenPopoverController dismissPopoverAnimated:YES];
}
}
经过几个非常可重复的步骤
[_hiddenPopoverController presentPopoverFromBarButtonItem:_barButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
导致应用程序崩溃,并显示以下内容:
*** -[ServerFolderController respondsToSelector:]: message sent to deallocated instance 0x85a9080
这在iOS5.x上崩溃,但在iOS4上不会崩溃。有什么想法吗?从仪器中我收集到有一个僵尸物体。
我被难住了!谢谢
这是
正常的)在iOS5中崩溃而不是在iOS4中崩溃。从我个人的到期来看,Apple在iOS5中更改了许多内部"东西",因此当iOS4中稳定时,我的应用程序可能会在iOS5中崩溃。但!!!在所有情况下,这都是我的错,我的错误是没有足够的保留或错误的自动释放。所以只有你能在你的代码中找到"这个错误"。我认为您的委托对象有问题。