グリッド ビューを描画していて、セレクターを起動するとEXC_BAD_ACCESSエラーが発生します。UIButtonゾンビ オブジェクトをオンにすると、次のメッセージが表示されます。
*** -[FooViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x91818f0
これが私がやっていることです:
BazViewController *baz = [[BazViewController alloc] initDesignatedInitializer];
FooViewController *foo = [[FooViewController alloc] initDesignatedInitializer];
[baz.view addSubview:foo.view];
これを ARC で実行しているため、FooViewController の割り当てが途中で解除される可能性があることがわかりました。
だから私はこのハックをしました:
NSMutableArrayという名前の BazViewController に ivar&property を作成し、viewControllers代わりに次のようにしました。
BazViewController *baz = [[BazViewController alloc] initDesignatedInitializer];
FooViewController *foo = [[FooViewController alloc] initDesignatedInitializer];
[baz.view addSubview:foo.view];
[baz.viewControllers addObject:foo];
しかし、それでも上記と同じエラーが発生します。
グリッドを扱うビュー コントローラーで上記と同等の処理を行いました。(View Controllers 配列を作成し、そのオブジェクトの作成時にオブジェクトを追加します)。まだサイコロはありません。このVCが時期尚早に解放されるのを防ぐ別の方法を誰かが推奨できますか?