【发布时间】:2017-09-05 19:31:10
【问题描述】:
我有一个具有多种用途的通用 UIViewController。它可以以 6 种不同的方式实例化,因为它被设计为非常通用。让我们将这个多用途视图控制器称为 MultiPurposeViewController。
Type1VC = MultiPurposeViewController()// initiated differently
self.navigationController.push(Type1VC)
Type1VC 内部:
Type2VC = MultiPurposeViewController()// initiated differently than before
self.navigationController.push(Type2VC)
是否允许使用导航控制器进行操作?
编辑:
- 这样的操作会导致内存问题吗?
- 在处理
UINavigationController堆栈时允许这样的操作吗? - 有没有人遇到过这样的场景:将同一个
UIViewContoller的多个实例堆叠到UINavigationController堆栈上而没有任何内存泄漏?
【问题讨论】:
-
是的,为什么不呢,但这不是一个好习惯
-
有什么影响?不是每个实例都调用一个单独的内存位置吗?很抱歉这些问题,但我很想知道为什么这不是一个好习惯。感谢您的回复。
-
是的,您可以毫无意外地推送单独的实例。关于您的
MultiPurposeViewController是否是一个好的设计,(a)它很可能是一个很好的方法,这取决于您正在解决的问题以及您如何实现它; (b) 这里与这个问题无关; (c) 我们这里没有足够的信息来决定;并且 (d) 这可能甚至不是该问题的正确论坛(例如,codereview.stackexchange.com 是对功能代码进行代码审查的好地方)。 -
这个问题有什么意义?你试过按照你的要求做吗?它奏效了吗?你在这里处理什么问题?
-
@rmaddy 这个问题是想看看是否有人遇到过这样的情况:将相同
UIViewController的不同实例堆叠到UINavigationController堆栈上而没有任何内存问题。感谢您一如既往的回复。
标签: ios swift uiviewcontroller uinavigationcontroller