iPhone App - 关闭模态视图 Controller 不会释放它

标签 iphone ios uiview uiviewcontroller

我有一个 UIViewController(称为 NumberTwo),我将其作为来自另一个 UIViewController(称为 NumberOne)的模态视图 Controller 呈现。 NumberTwo 包含一个用于监听触摸的 touchesBegan 方法,它还有一个用于监听 x、y 或 z 方向上的设备方向变化的加速度计方法。 NumberTwo 有一个名为“Done”的按钮,当它被点击时,它本身将作为模态视图 Controller 解除:

[self dismissModalViewControllerAnimated:NO];

但它似乎仍在监听触摸,并且仍在监听加速度。当我解雇它时,我怎样才能完全释放 NumberTwo?我尝试按如下方式添加发布调用:

[self dismissModalViewControllerAnimated:NO];
[self release];

但这导致了 EXEC_BAD_ACCESS。

最佳答案

提交后是否释放了 Controller ?例如。在你在 NumberOneController 中呈现它的方法中,你是否有类似的东西:

NumberTwoController * controller = [NumberTwoController alloc] init];
// do stuff to config controller
[self presentModalViewController: controller];
[controller release];

除非您想保留 NumberTwoController 以供重复使用,否则这将是通常的模式。 presentModalViewController 方法确保 Controller 在使用时保留。当您在 NumberTwoController 中调用 [self dismissModalViewControllerAnimated: NO] 时,它应该会被整理。

关于iPhone App - 关闭模态视图 Controller 不会释放它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6645593/

相关文章:

iphone - 在 Xcode 5.0.1(更新的 Xcode 6)中为 3.5、4.0(更新的 4.7 和 5.5)英寸屏幕开发相同的 UI,无横向、无 iPad 和 Storyboard

ios - NSString stringWithFormat 返回类型,为什么是 "id"?

ios - 如何在 Instagram 等应用中使用 "@"提及用户

iOS UITableView resize height/cant scroll down 问题

ios - Swift 无法更改 xib uiview 中的 ImageView 框架

iphone - sizeWithFont 是否考虑自动收缩?

iphone - 从 UIViewController 到 Appdelegate 的导航

iphone - 旋转 UIView iPhone

ios - 如何在swift中找到最接近场景底部的 Sprite 节点

ios - inputaccessoryview 未显示( Storyboard)