0

私は(iPhone、iOS6で)独自のポップオーバーを作成しようとしますがViewController、他のサブビューで表示する必要がありViewControllerます。それは大丈夫です-私はインターフェースでViewControllerクラスを作成しXIB、いくつかを返す1つのボタンと接続されたアクションを追加しましたNSLog。私はこれを次のようにロードViewControllerします:

PopoverViewController *popover = [[PopoverViewController alloc] initWithNibName:@"PopoverViewController" bundle:nil];

[self.view addSubview:popover.view];

動作viewしています-fromはにPopoverViewController表示されてViewControllerいますが、のサブビューであるボタンをクリックすると、次の行PopoverViewControllerEXC_BAD_ACCESSエラーが発生します。

0x3968a5b0:  ldr    r3, [r4, #8]

それに対処する方法、および2番目のView Controllerを正しく表示する方法は?

助けてくれてありがとう。

4

1 に答える 1

2

ARC を使用していて、 への強い参照を保持していないPopoverViewController場合、そのビューを別のビューに追加しても、View Controller の割り当てが解除されます。次に、ポップオーバーのビューでボタンをタップすると、ボタンのターゲットがなくなり、アプリがクラッシュします。

への参照を保持するインスタンス変数を追加するか、PopoverViewControllerさらに良いことに、ビュー コントローラーのコードを更新して、適切にコンテナー ビュー コントローラーになるようにします。あるView Controllerのビューを別のView Controllerのビューに追加するだけではいけません。UIViewControllerコンテナー ビュー コントローラーを作成する適切な方法については、ドキュメントを参照してください。

于 2013-03-10T22:06:20.190 に答える