1

私は iPad 用のアプリを作成していますが、ARC が次のように宣言された強力なプロパティの割り当てを解除する理由について少し混乱しています。

@property (nonatomic, strong) UIPopoverController *imagePickerPopover;

この UIPopoverController を使用して、ユーザーのイメージ ギャラリーを表示します。これは、iPad 用のビルドの場合、この方法で行う必要があるためです。誰でもこれを経験しますか?それは私にこのエラーを与えるだけです:

*** Terminating app due to uncaught exception 'NSGenericException', reason: '-[UIPopoverController dealloc] reached while popover is still visible.'

開くとランダム。(たとえば、1 回は例外なくギャラリーを開くことができますが、2 回または 3 回ではなく、4 回目は例外がスローされます) 本当にかなり奇妙です。

ピッカーを作成するための私のコードは次のとおりです。

self.imagePickerPopover = [[UIPopoverController alloc] initWithContentViewController:picker];
[self.imagePickerPopover presentPopoverFromRect:aUIButton.frame inView:aUIButton.superview permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
4

1 に答える 1

1

そのため、実際にそのピッカーを開いたときに複数回ポップアップさせようとしていたことが判明しました。SO私はisPopoverVisibleプロパティを使用してチェックし、そうでない場合はポップオーバーを作成して表示しました。問題が修正されました。

于 2012-06-19T23:32:27.907 に答える