我使用下面的代码检查视图控制器。
NSLog(@"addProductClicked 1===%@", self.class);
NSLog(@"addProductClicked 2===%@", [CategoriesViewController class]);
if ([self.class isKindOfClass:[CategoriesViewController class]]) {
NSLog(@"you go it right");
} else {
NSLog(@"you go it wrong");
}
我得到的输出如下。
addProductClicked 1===CategoriesViewController
addProductClicked 2===CategoriesViewController
you go it wrong
知道出了什么问题吗?
只是为了更新,下面是我定义了我的视图控制器......
@interface CategoriesViewController : GlobalViewController {
现在在GlobalViewController
我有上面检查的方法......
答案 0 :(得分:1)
这是错误的比较。您在该类的对象上调用isKindOfClass:
。像这样:
CategoriesViewController *obj = [[CategoriesViewController alloc] init];
[obj isKindOfClass:CategoriesViewController];
在您的情况下,您可能需要检查self
。
答案 1 :(得分:1)
要进行类检查的变量应作为对象传入,而不是作为类传递。
if ([self isKindOfClass:[CategoriesViewController class]]) {
NSLog(@"you go it right");
} else {
NSLog(@"you go it wrong");
}