【发布时间】:2012-06-15 22:53:01
【问题描述】:
我有这个方法(别人写的!)
- (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 上不会。有任何想法吗 ? 从 Instruments 中我得知有一个 Zombie 对象。
我被难住了! 谢谢
【问题讨论】:
标签: objective-c ios error-handling