iPhone iOS UITabBar 如何取消分配 Controller 并稍后重新初始化?

标签 iphone objective-c ios memory-management uitabbarcontroller

我正在考虑一种方法来响应 iOS 生成的内存警告。我得到了一个“昂贵的”选项卡栏 Controller ,它是响应内存警告而取消分配的一个很好的候选者。

我如何将 UITabBar 管理的 Controller 标记为“可删除”,但允许用户在用户重新选择正确的 UITabBar 选项卡时重新初始化 Controller ? p>

UITabBar 会负责重新初始化已释放的 Controller ,还是会涉及某种惰性初始化?

我是否需要为选择选项卡且 Controller 为 nil 时发生的情况编写自定义代码?

最佳答案

UITabBarController 自动管理其分配和释放。

例如,当您向其中添加一个 UIViewController 时,tabbarcontroller 将不会加载您的 View (调用 viewDidLoad),它只会加载您的类(init 方法)。然后你可以在 viewDidLoad 上完成所有繁重的工作。

当它收到警告通知时,TabbarController 将释放您的所有 View ,当前 View 除外,并在用户返回已释放的选项卡时重新加载。

-- 对不起那里的英语不好。

关于iPhone iOS UITabBar 如何取消分配 Controller 并稍后重新初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11689246/

相关文章:

ios - 将 Apple Watch 添加到具有部署目标 IOS 7 的 iOS 应用程序

objective-c - Xcode/Cocoapods 为什么我不能从 Pod 实现 Swift 协议(protocol)?

iphone - 解读 iOS 崩溃报告

iphone - 接受的方式让用户 "reset"应用程序设置(NSUserDefaults)?

iphone - ButtonPressed 方法上的警告

iphone - C 或 Objective C 中的数学问题

ios - (ObjC -> Swift) 转换函数 "init"& "textureNamed"

iphone - 如何在 Tableview 单元格 subview 项中分配 didSelectRowAtIndexPath

ios - 如何防止滚动 tableView 时按钮调整大小

android - 如何在移动设备上调用 Facebook 页面的桌面站点?