Swift3 如何从非viewcontroller类启动视图控制器

Swift3 如何从非viewcontroller类启动视图控制器,swift3,viewcontroller,nsobject,Swift3,Viewcontroller,Nsobject,我想从nsobject中继承的类中打开当前uiviewcontroller。这是如何工作的? 我试过这个密码 let storyboard = UIStoryboard(name: "Main", bundle: nil) let initialViewController = storyboard.instantiateViewController(withIdentifier: "LoginSignupVC") self.present (initialViewController, an

我想从nsobject中继承的类中打开当前uiviewcontroller。这是如何工作的? 我试过这个密码

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let initialViewController = storyboard.instantiateViewController(withIdentifier: "LoginSignupVC")
self.present (initialViewController, animated: false, completion: nil)

在你的代码中
self.present
不起作用,因为你在NSObject类中

所以self指的是NSObject类

NSObject类中没有方法
存在。

要显示视图控制器,必须将导航控制器作为根

解决方案1:使用
self.navigationController
获取导航控制器,并将视图控制器呈现给它

let initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("LoginSignupVC") as! ViewController
self.navigationController!.presentViewController(initialViewController, animated: true)
解决方案2:手动创建navigationcontroller并显示在其中

let initialViewController = self.storyboard!.instantiateViewControllerWithIdentifier("LoginSignupVC") as! ViewController
let navController = UINavigationController(rootViewController: initialViewController) 
self.presentViewController(navController, animated:true, completion: nil)

NSObject没有成员“presentViewController”请确保您正在UIViewController类中编写此代码我的类是非UIViewController类。好吧,不过我知道了。将我的ViewController实例从上一个类传递到此非UIViewController类,并使用该对象呈现它。