Sta*_*nLe 6 iphone uiviewcontroller uiview ios
我有一个UIViewController(称之为NumberTwo),我把它作为另一个UIViewController的模态视图控制器(称之为NumberOne).NumberTwo包含一个touchesBegan方法,用于监听触摸,它还有一个加速计方法,用于监听x,y或z方向的设备方向变化.NumberTwo有一个名为"Done"的按钮,当点击时,它将自己视为模态视图控制器:
[self dismissModalViewControllerAnimated:NO];
Run Code Online (Sandbox Code Playgroud)
但似乎它仍在倾听触摸,它仍然在倾听加速度.当我解雇它时,我怎么能完全释放NumberTwo?我尝试添加一个发布调用,如下所示:
[self dismissModalViewControllerAnimated:NO];
[self release];
Run Code Online (Sandbox Code Playgroud)
但是这导致了EXEC_BAD_ACCESS.
您在呈现控制器后是否释放了控制器?例如,在 NumberOneController 中呈现它的方法中,您是否有类似的内容:
NumberTwoController * controller = [NumberTwoController alloc] init];
// do stuff to config controller
[self presentModalViewController: controller];
[controller release];
Run Code Online (Sandbox Code Playgroud)
除非您想保留以NumberTwoController供重复使用,否则这将是通常的模式。该presentModalViewController方法确保控制器在使用时被保留。NumberTwoController当您在 内调用 时,它应该得到整理[self dismissModalViewControllerAnimated: NO]。
| 归档时间: |
|
| 查看次数: |
4425 次 |
| 最近记录: |