1

私はこの方法を持っています(他の誰かがそれを書きました!)

- (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ではクラッシュしません。何か案は ?楽器から、ゾンビオブジェクトがあることがわかりました。

困った!ありがとうございました

4

1 に答える 1

1

iOS5でクラッシュし、iOS4でクラッシュしないのはNORMALです。私の個人的な経験から、AppleはiOS5の多くの内部「もの」を変更したので、iOS4で安定していたときに私のアプリケーションがiOS5でクラッシュする可能性があります。だが!!!すべての場合において、それは私のせいであり、保持が不十分であるか、自動解放が間違っているという私のエラーでした。したがって、コード内で「このバグ」を見つけることができるのはあなただけです。オブジェクトを委任するのに何か問題があると思います。

于 2012-06-13T05:34:10.903 に答える