2

我正在尝试呈现一个自定义视图控制器,其中自定义视图从分离的 NIB 加载,模态地使用 presentModalViewController 消息。

该过程运行良好,但我注意到(使用分配工具)每次视图控制器以模态方式呈现(或通过导航控制器推送)时,内存一旦被解除就不会被回收。最终发生的情况是,如果用户多次激活模态视图控制器,最终应用程序将收到内存警告并最终崩溃。

我正在尝试找到一种方法来强制释放为模态视图控制器分配的内存。在这一点上,我已经创建了父视图控制器拥有的视图控制器的单个实例,并将视图控制器重新用于所有模式调用。

任何有关释放已解散的模态视图控制器的帮助将不胜感激。

多谢你们!

4

2 回答 2

2

调用后presentModalViewController:animated:,如果您不再需要它,可以释放呈现的视图控制器。只要呈现,UIKit 本身就会保留它。

于 2011-08-22T18:19:36.547 回答
0

检查对象所有权。您的视图控制器负责呈现模态视图控制器,因此它保留对它的所有权。因此,您可以在实例化控制器后释放控制器并使用 presentModalViewController:animated 呈现它。

于 2011-08-22T18:21:39.043 回答