【发布时间】:2014-01-27 21:43:05
【问题描述】:
这个问题是由两部分组成的,我已经查看过但没有找到类似的问题,但也许我只是不知道具体要搜索什么。
我有一个容器视图,它充当用户导航(具有其他选项,如保存),位于我的大部分UIViewControllers 的顶部。因此,每个视图都可以从其他视图访问。我遇到的问题是这会在UINavigationController 中创建循环,这是不建议的。我目前的尝试是删除除根 UIViewController 之外的所有内容,然后加载新的视图控制器。这不好,虽然它加载正常,但我的资产相当占用内存,因此从头开始加载它们或一次加载多个实例会占用太多内存。我将尽快减少资产大小以减少内存压力,但我仍然认为我这样做的方式非常糟糕且效率低下,因此我想知道一种更有效的方式来管理 UIViewControllers。
这个问题的另一部分是关于加载这些UIViewControllers。我有多种方法可以输入某些UIViewControllers,它们需要稍微不同的配置。我知道我可以使用特定的 init 方法手动加载UIViewController,或者我可以使用NSNotification 告诉班级做一些额外的初始化工作,但我想知道是否有更好的方法来做到这一点,并且如果没有更好的选择?
对不起,文字墙,任何建议表示赞赏。
【问题讨论】:
-
你可以用你现有的创建视图改变 navigationviewcontroller.viewcontroller 然后用新的顺序再次添加它也删除一些视图控制器..
标签: ios objective-c memory-management uiviewcontroller uinavigationcontroller