iPhone如何检查对象的类型?(iPhone how to check the type of a

2019-07-04 10:34发布

我要检查的对象的类型。 我怎样才能做到这一点?

该场景被我发现了一个对象。 如果该对象是A型的,然后做一些操作。 如果是B型的,然后做一些操作。 目前的对象的类型是C是A和B的父

我有两个类AViewControllerBViewController 。 对象我得到的UIViewController 。 现在,如何检查对象是否是AViewControllerBViewController

Answer 1:

if([some_object isKindOfClass:[A_Class_Name class]])
{
    // do somthing
}


Answer 2:

有对NSObject的一些方法,让你检查类。

首先有-class这将返回您的对象的类。 这将返回AViewController或BViewController。

此外,还有两种方法, -isKindofClass:isMemberOfClass:

-isKindOfClass:将比较传入的参数类的接收器和返回true或基于类是否是同一类型或者给定类的子类假。

-isMemberOfClass:将比较传入的参数类的接收器和返回true或基于类是否是严格相同的类的给定类假。



Answer 3:

在Objective-C更常见的模式是检查对象响应你有兴趣例方法:

if ([object respondsToSelector:@selector(length)]) {
    // Do something
}

if ([object conformsToProtocol:@protocol(NSObject)]) {
    // Do something
}


文章来源: iPhone how to check the type of an Object?