Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否可以在UINavigationContoller堆栈上推送UIViewController的两个独立实例_Ios_Swift_Uiviewcontroller_Uinavigationcontroller - Fatal编程技术网

Ios 是否可以在UINavigationContoller堆栈上推送UIViewController的两个独立实例

Ios 是否可以在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

我有一个通用的UIViewController,它有多种用途。它可以以6种不同的方式进行实例化,因为它被设计为非常通用的。让我们将此多用途viewcontroller称为MultiPurposeViewController

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
    设计正确,它可以在多个级别上重用,而不会出现任何内存问题!谢谢。是的,如果它解决了您的问题,请给出正确的答案,以便其他开发人员从您的问题中获益。继续编码