iphone - Interface Builder Outlet 的内存管理

标签 iphone objective-c interface-builder

我正在为 iPhone 应用程序的 IBOutlet 使用 @property(nonatomic, keep)。但是,我不确定如何确保我正确地管理它们的内存。 IBOutlet 均在 Interface Builder 中设置,因此我从不手动调用 alloc。这意味着我不确定何时以及是否取消分配它们,或者何时将它们设置为指向 nil

确保 View 卸载后不会泄漏内存的最佳实践是什么?

最佳答案

如果您对 IBOutlet 使用 @properties 并在 IB 中建立连接,那么您的 Controller 本质上是使用该属性保留 IB 对象,因此它负责在使用完它们后释放它们。

你什么时候处理完它们?

在任何情况下,您都应该在 viewDidUnload 方法中设置属性 self.propertyname = nil,并在每个 viewController 的 dealloc 中再次设置。

这非常简单,IB 管理其他一切。

关于iphone - Interface Builder Outlet 的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1823092/

相关文章:

iphone - GL_DOT3_RGB 的限制

iphone - UIScrollView - 为新的 contentSize 设置适当的 contentOffset 会产生不需要的空白空间

ios - 如何动态获取 InApp 购买的价格等级?

ios - 启动时在 AppDelegate 中将 TabBarViewController 设置为 Root View

ios - 模板图像不会在启动屏幕 Storyboard上着色

iphone - 如何从我的经纬度找出最近的用户?

iphone - iphone View 之间的数据共享

iphone - iOS 中 UITableViewController 中的 tableView 设置为 nil 后,viewDidLoad 方法再次调用

iphone - XCode Interface Builder 中的奇怪颜色?

cocoa - 如何在 Cocoa 和 IB 中创建类似 Keynote 的界面?