我要检查的对象的类型。 我怎样才能做到这一点?
该场景被我发现了一个对象。 如果该对象是A型的,然后做一些操作。 如果是B型的,然后做一些操作。 目前的对象的类型是C是A和B的父
我有两个类AViewController
和BViewController
。 对象我得到的UIViewController
。 现在,如何检查对象是否是AViewController
或BViewController
?
我要检查的对象的类型。 我怎样才能做到这一点?
该场景被我发现了一个对象。 如果该对象是A型的,然后做一些操作。 如果是B型的,然后做一些操作。 目前的对象的类型是C是A和B的父
我有两个类AViewController
和BViewController
。 对象我得到的UIViewController
。 现在,如何检查对象是否是AViewController
或BViewController
?
if([some_object isKindOfClass:[A_Class_Name class]])
{
// do somthing
}
有对NSObject的一些方法,让你检查类。
首先有-class
这将返回您的对象的类。 这将返回AViewController或BViewController。
此外,还有两种方法, -isKindofClass:
和isMemberOfClass:
-isKindOfClass:
将比较传入的参数类的接收器和返回true或基于类是否是同一类型或者给定类的子类假。
-isMemberOfClass:
将比较传入的参数类的接收器和返回true或基于类是否是严格相同的类的给定类假。
在Objective-C更常见的模式是检查对象响应你有兴趣例方法:
if ([object respondsToSelector:@selector(length)]) {
// Do something
}
if ([object conformsToProtocol:@protocol(NSObject)]) {
// Do something
}