如何检查当前的ViewController是否是我要推送的那个?

时间:2014-10-31 21:01:29

标签: ios swift uiviewcontroller

有没有办法有条件地检查当前的View是否是我要推送的View?例如,在一个事件上,我想以编程方式推送像这样的SecondViewController:

if(someEvent == true) {
    if(CurrentViewController != SecondViewController) {
        // Load SecondViewController
        navigationController?.pushViewController(secondViewController as UIViewController, animated: true)
    }
    else {
        // DON'T LOAD SecondViewController
    }
 }

到目前为止,所有这一切都是不断重新加载SecondViewController并将其堆叠在NavigationController的层次结构中。如何有效地将当前视图与另一个视图进行比较以查看它是否已加载?

非常感谢那些分享知识的人。

注意使用Swift更新时,as关键字已更改。

2 个答案:

答案 0 :(得分:2)

检查visibleViewController的{​​{1}}是否为navigationController的实例。使用SecondViewController作为检查实例

isMemberOfClass

答案 1 :(得分:0)

检查自我的类别。

if (![self isKindOfClass:[SecondViewController class]]) {
    //push SecondViewController instance
}