有没有办法有条件地检查当前的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关键字已更改。
答案 0 :(得分:2)
检查visibleViewController
的{{1}}是否为navigationController
的实例。使用SecondViewController
作为检查实例
isMemberOfClass
答案 1 :(得分:0)
检查自我的类别。
if (![self isKindOfClass:[SecondViewController class]]) {
//push SecondViewController instance
}