我正在绘制网格视图并在触发选择器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&propertyviewControllers
并改为执行以下操作:
BazViewController *baz = [[BazViewController alloc] initDesignatedInitializer];
FooViewController *foo = [[FooViewController alloc] initDesignatedInitializer];
[baz.view addSubview:foo.view];
[baz.viewControllers addObject:foo];
但我仍然得到上面同样的错误。
我继续在处理网格的视图控制器上执行与上述相同的操作。(创建一个视图控制器数组,并在创建该对象时将对象添加到其中)。还是没有骰子。谁能推荐另一种方法来防止此 vc 过早发布?