Iphone 比较';类别';与其他';类别';在Objective-C中
是否存在类似于“isKindOfClass:”的函数,用于将一个“类”与另一个“类”进行比较(即,不构造任何一个类的实例)。例如,假设: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
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