Ios 是否可以在UINavigationContoller堆栈上推送UIViewController的两个独立实例
我有一个通用的UIViewController,它有多种用途。它可以以6种不同的方式进行实例化,因为它被设计为非常通用的。让我们将此多用途viewcontroller称为MultiPurposeViewControllerIos 是否可以在UINavigationContoller堆栈上推送UIViewController的两个独立实例,ios,swift,uiviewcontroller,uinavigationcontroller,Ios,Swift,Uiviewcontroller,Uinavigationcontroller,我有一个通用的UIViewController,它有多种用途。它可以以6种不同的方式进行实例化,因为它被设计为非常通用的。让我们将此多用途viewcontroller称为MultiPurposeViewController Type1VC = MultiPurposeViewController()// initiated differently self.navigationController.push(Type1VC) 内部类型1VC: Type2VC = MultiPurposeVie
Type1VC = MultiPurposeViewController()// initiated differently
self.navigationController.push(Type1VC)
内部类型1VC:
Type2VC = MultiPurposeViewController()// initiated differently than before
self.navigationController.push(Type2VC)
是否允许使用导航控制器进行操作
编辑:
- 这样的操作会导致内存问题吗
- 在处理
堆栈时是否允许这样的操作UINavigationController
- 是否有人遇到过这样的情况:将同一
的多个实例堆叠到UIViewContoller
堆栈上,而不存在任何内存泄漏UINavigationController
苹果官方文件明确提到: 要实现一个导航界面,您必须决定要显示哪些数据 在数据层次结构的每个级别上显示。对于每个级别,您必须 提供一个内容视图控制器来管理和显示 这个水平。如果多个级别的演示文稿相同,则 可以创建同一视图控制器类的多个实例,并且 将每一个配置为管理自己的数据集。例如 照片应用程序有三种不同的演示类型 您可以通过以下方式阅读更多内容: 希望这能让你完全了解你的问题。
请随意评论。是的,为什么不呢,但这不是一种好的做法。这意味着什么?不是每个实例化都调用一个单独的内存位置吗?很抱歉提出这些问题,但我很想知道为什么这不是一个好的做法。感谢您的回复。是的,您可以推送单独的实例而不会发生意外。Re您的
多purposeviewcontroller
是否是一个好的设计,(a)它很可能是一个很好的方法,这取决于您正在解决的问题和如何实现它;(b) 这与这个问题无关;(c) 我们这里没有足够的信息来决定;(d)对于这个问题,这甚至可能不是一个合适的论坛(例如,对功能代码进行代码审查的好场所)。这个问题的重点是什么?你试过按你的要求做吗?它起作用了吗?您在这里处理的是什么问题?@rmaddy此问题是尝试看看是否有人遇到过这样的情况:将同一UIViewController
的不同实例堆叠到UINavigationController
堆栈上,而不存在任何内存问题。谢谢你一如既往的回复。太好了!因此,如果MultiPurposeViewController
设计正确,它可以在多个级别上重用,而不会出现任何内存问题!谢谢。是的,如果它解决了您的问题,请给出正确的答案,以便其他开发人员从您的问题中获益。继续编码