繁体   English   中英

iPhone导航控制器-重用视图的最佳实践

[英]IPhone Navigation Controllers - Best practise for reusing views

嗨,我在我的应用程序中经常使用导航控制器,但是我的应用程序开始遭受一遍又一遍地调用相同视图并将其推入nav控制器堆栈的视图困扰,而不是重用堆栈上的现有视图。

例如,我有一个地图视图,多数民众赞成在我的应用程序中的各个地方。

我应该真正浏览Nav Controller堆栈,找到我已经推送的mapview并将其移到堆栈顶部。

相反,我创建一个新的并将其推到顶部。

随着我的应用程序变得越来越复杂,我肯定会遇到内存问题,并且用户会不满意地按下“后退”按钮进入主菜单。

任何人都有在Nav Controller堆栈中找到视图的好例子。

我该怎么办?

我是否需要在App Delegate中保留指向地图视图的指针?

如果有一种方法可以在堆栈中快速找到视图,或者我需要将索引/ NSDictionary保留在某个位置。

我注意到,无论谁在编写Facebook应用程序,现在都存在相同的问题。 收到通知时,它们会打开应用程序并实例化“通知”视图,并将其推入堆栈。 一段时间后,您最终关闭了一堆旧的通知窗口以返回主菜单。 干杯

如果要将特定的viewcontroller放在堆栈的顶部(已将其推入堆栈),而不是创建一个,则可以使用以下方法。

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

如果您事先知道viewControllers将被压入堆栈,则可以使用以下功能一次将其压入,而不必一次又一次地压入它们。

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM