Iphone 比较';类别';与其他';类别';在Objective-C中

Iphone 比较';类别';与其他';类别';在Objective-C中,iphone,objective-c,cocoa,Iphone,Objective C,Cocoa,是否存在类似于“isKindOfClass:”的函数,用于将一个“类”与另一个“类”进行比较(即,不构造任何一个类的实例)。例如,假设: Class class = NSClassFromString(@"NSNumber"); [NSNumber isKindOfClass:class]; // YES [NSString isKindOfClass:class]; // NO 谢谢 及 一个类的实例永远不会超过一个,这就是为什么您要查找的运算符是=。是的,您可以执行以下操作: [NSN

是否存在类似于“isKindOfClass:”的函数,用于将一个“类”与另一个“类”进行比较(即,不构造任何一个类的实例)。例如,假设:

Class class = NSClassFromString(@"NSNumber");

[NSNumber isKindOfClass:class]; // YES
[NSString isKindOfClass:class]; // NO
谢谢

一个类的实例永远不会超过一个,这就是为什么您要查找的运算符是
=

是的,您可以执行以下操作:

[NSNumber isSubclassOfClass:class]; //YES
[NSString isSubclassOfClass:class]; //NO

这些是
NSObject

上的类方法,谢谢Dave。是否可以限制不包含子类?谢谢。@Kevin正如@Georg所指出的,你可以这样做:
[NSNumber class]==class
你好,Georg。第二个示例导致编译错误“预期表达式在'NSNumber'之前”,但第一个示例有效!您知道是否可以限制不包含子类?谢谢if语句应该是
if([NSNumber class]==class)
。有关更多信息,请参阅:@Kevin:已修复,我应该在之前检查它。对不起。@Dave:谢谢,另一个问题真的很有趣。
[NSNumber isSubclassOfClass:class]; //YES
[NSString isSubclassOfClass:class]; //NO