访问没有Window的PresentedViewController

时间:2017-07-13 07:38:51

标签: ios swift

我目前正在开发一个包含ViewController演示文稿的框架。想要测试这个,我试过(使用Quick和Nimble):

expect(nav.presentedViewController).to(beAnInstanceOf(TestVC.self))

在应用内,我可以创建UIWindow并将UINavigationController添加到此窗口(需要将其设置为可见)。
在框架中我得到:

caught "NSInternalInconsistencyException", "props must have a valid clientID"

如何在没有窗口的情况下测试正确的视图? (或如何解决此错误)

THX

1 个答案:

答案 0 :(得分:0)

您可以通过创建全局视图控制器来保留TopViewController的引用。

就像那样

var rootViewController:UIViewController?

class MyClass1 :UIViewController{
    override func viewDidLoad() {
        rootViewController = self
    }
}

class MyClass2 :UIViewController{
    override func viewDidLoad() {
        rootViewController = self
    }
}

每次rootViewController实例替换为最后一个UIViewController