我有一个通用的UIViewController有多种用途。它可以被实例化为6种不同的方式,因为它被设计为非常通用的。让我们把这个多用途视图控制器称为MultiPurposeViewController。是否有可能推UINavigationContoller堆栈上UIViewController的2个单独的实例
Type1VC = MultiPurposeViewController()// initiated differently
self.navigationController.push(Type1VC)
内Type1VC:
Type2VC = MultiPurposeViewController()// initiated differently than before
self.navigationController.push(Type2VC)
是否允许做的操作与导航控制器?
编辑:
- 会出现这样的操作造成任何内存问题?
- 处理
UINavigationController
堆栈时允许这样的操作吗? - 有没有人遇到过将堆栈的多个实例堆叠到
UINavigationController
堆栈上而没有任何内存泄漏的情况?
是的为什么不是,但它不是很好的做法 –
有什么影响?是不是每个实例都调用一个单独的内存位置?对于这些问题抱歉,但我很想知道为什么这不是好的做法。感谢您的回应。 –
是的,你可以推送单独的实例,而不会发生事故。不管你的'MultiPurposeViewController'是不是一个好的设计,(a)它可能是一个很好的方法,这取决于你正在解决的问题以及你如何实现它; (b)这里与这个问题无关; (c)我们没有足够的信息来决定;和(四)这可能是甚至不是这个问题的正确论坛(例如http://codereview.stackexchange.com是功能代码的代码审查的好场所)。 – Rob