我试图找出哪个UIViewController当前位于UINavigationController堆栈的顶部,我将这些值传递给我的NSArray viewCtrls,当我记录顶部UIViewController时,我得到了这个。
<SearchViewController: 0x1457c550>
这就是我试图用来确定哪个UIViewController位于UINavigationStack顶部的代码
NSArray *viewCtrls = navcontroller.viewControllers;
UIViewController *vCtrl = [viewCtrls objectAtIndex:[viewCtrls count]-1];
NSLog(@"%@", vCtrl);
if ([vCtrl isKindOfClass:SearchViewController]) {
NSLog(@"yes");
} else {
NSLog(@"no");
}
但是,我在if
语句的第一行遇到此错误。
Use of undeclared identifier 'SearchViewController'
型
我想知道我应该如何声明标识符?这是从NSObjectClass调用的,因此我需要从调用此NSObjec类的UIViewController传递self参数?或者有更好的方法吗?
2条答案
按热度按时间wooyq4lh1#
你想要
[vCtrl isKindOfClass:[SearchViewController class]]
4nkexdtk2#
Mike的解决方案应该工作正常。显然,它不能理解SearchViewController是什么,真的。你能检查一下提出一个转发声明吗
对于编写上述代码的类的头文件中的SearchViewController类,再导入编写上述代码的类的源文件中的SearchViewController. h文件。