发现对象是否是特定类或其子类的实例
要发现对象是否是某类或其子类的实例,请在对象上调用 isKindOfClass:
方法。当应用程序需要发现其响应的消息(实现的或继承的),它有时进行以上的检查。
static int sum = 0; |
for (id item in myArray) { |
if ([item isKindOfClass:[NSNumber class]]) { |
int i = (int)[item intValue]; |
sum += i; |
} |
} |
isKindOfClass:
方法将类型为 Class
的对象视为参数;要获取此对象,请在类符号上调用 class
方法。接着评估此方法返回的 Boolean 值,并继续相应的操作。
NSObject
会声明其他方法来发现有关对象继承的信息。例如,isMemberOfClass:
方法告诉您,对象是否是特定类的实例;而 isKindOfClass:
告诉您,对象是否是该类或任何其后代类的成员。