Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何测试Objective-C中的类类型?_Ios_Objective C - Fatal编程技术网

Ios 如何测试Objective-C中的类类型?

Ios 如何测试Objective-C中的类类型?,ios,objective-c,Ios,Objective C,我试图使用-isKindOfClass:测试类类型,但当我将类类型存储在变量中时,它对我不起作用 这里有一个例子。我错过了什么 @interface MyClass : NSObject @end @implementation MyClass @end Class classType = [MyClass class]; [classType isKindOfClass:[MyClass class]]; // returns NO classType == [MyClass clas

我试图使用
-isKindOfClass:
测试类类型,但当我将类类型存储在变量中时,它对我不起作用

这里有一个例子。我错过了什么

@interface MyClass : NSObject
@end

@implementation MyClass
@end

Class classType = [MyClass class];

[classType isKindOfClass:[MyClass class]]; // returns NO

classType == [MyClass class]; // returns YES

问题是MyClass不是从MyClass继承的

isKindOfClass
在将其用作实例方法时,其工作方式与您期望的方式相同:

但当您将其用作类方法时,它会测试继承:

[classType isKindOfClass:[NSObject class]]; // YES

如果您想知道
classType
是否为
[MyClass]
,请使用
==
,就像您正在做的那样。

问题是我需要测试基类。我知道问题是什么。我已经解释了你需要做什么。好了,我现在明白了!如果不启动类的对象,就无法进行此测试?我没有这么说。您是使用类对象的人。我只是解释一下你可以用class对象做什么。是的,我真的很欣赏这些评论,但我不明白为什么存储为变量的类类型返回NO,而该类的实例返回Yes。
[classType isKindOfClass:[NSObject class]]; // YES