哪一个最适合导航segue或实例化? [关闭]

问题描述 投票:-4回答:1

对于导航,我们使用了segue和instantiate。但哪一个最适合用于提高应用程序性能?你有什么主意吗?例如,如果我们的应用程序超过50页。您会建议哪一个?

它遵循:

prepare(for segue: UIStoryboardSegue, sender: Any?) {
     if let vc1 = segue.destination as? MyViewController1 {
        vc1.somePropertyFromMyViewController1 = someValueFromTheOriginVC
     }
     else if let vc2 = segue.destination as? MyViewController2 {
        vc2.someOtherPropertyFromMyViewController2 = someOtherValue
     }
   }

实例:

推 :

let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! UIViewController
navigationController?.pushViewController(viewController, animated: true)

当下 :

let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ViewController") as UIViewController
// .instantiatViewControllerWithIdentifier() returns AnyObject! this must be downcast to utilize it

self.presentViewController(viewController, animated: false, completion: nil)

是否存在实例化和segue之间差异的关键点。请让我知道,谢谢。

ios swift push pop presentviewcontroller
1个回答
1
投票

导航控制器推送方法最好使用segue。

在iOS上执行导航的标准方法之一是使用UINavigationController,每个视图控制器都可以弹出或推送其他视图控制器

虽然完成上述工作完全没问题(特别是对于更简单的应用程序),但随着应用程序的增长处理它会变得非常棘手 - 如果您希望能够从多个位置导航到同一个视图控制器,或者如果您想要实现类似于应用程序外部的深层链接。

有关https://medium.com/@johnsundell/navigation-in-swift-e4ed18031653的更多信息,请参阅此帖子

© www.soinside.com 2019 - 2024. All rights reserved.