我试图弄清楚哪个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参数?或者有更好的方法吗?
任何帮助将不胜感激。
答案 0 :(得分:2)
您想要[vCtrl isKindOfClass:[SearchViewController class]]
答案 1 :(得分:1)
@class SearchViewController
用于编写上述代码的类的头文件中的SearchViewController类,然后将SearchViewController.h文件导入到编写上述代码的类的源文件中。
#import "SearchViewController.h"