ios - UINavigationController 释放财富

标签 ios objective-c memory-management uinavigationcontroller

在此代码的末尾:

UIViewController *viewController = [[UIViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[viewController release];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];

导航 Controller 像往常一样模态显示,但是当我单击 viewController 上的按钮时,它崩溃了。事实上,viewController 的保留计数为 0。 如果我评论两个版本中的一个,一切都比预期的要好。 我几乎到处都看到这段代码,有什么问题吗?

最佳答案

您发布的代码是正确的,但在其他地方您发布了一些东西。

一些注意事项:

首先,never trust retainCount .

其次,确保您按照 here 所述正确管理 nib 对象的内存。 .

最后,您需要使用 Instruments 中的 NSZombie 检测来找出真正的问题所在。 This video提供了一个很好的方法。

关于ios - UINavigationController 释放财富,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903296/

相关文章:

c - 释放 C 中 static 关键字定义的动态分配的内存

c++ - 在删除指向动态分配对象的指针 vector 中的元素之前,我需要做什么?

ios - 没有 OpenGL 的 iOS 上的硬件加速缩放

iphone - NSGenericException,NSMutableArray 给出了一些问题

ios - iOS 的 JWT 认证

iphone - 检查字典数组中是否存在字典?

python - 使用 apply() 自定义函数创建新列时出现 Pandas 内存错误

ios - 标题未使用 json 设置。 objective-c

ios - 不同组件如何在iOS的MVVM中通信

iphone - 如何将多个数据插入到 UITableView 的单个单元格中