iPhone如何检查一个对象的types?

我想检查一个对象的types。 我怎样才能做到这一点?

情况是我得到一个对象。 如果该对象是typesA,则执行一些操作。 如果是B型,那么做一些操作。 目前,对象的types是C,它是A和B的父类。

我有两个类AViewControllerBViewController 。 我在UIViewController获得的对象。 现在如何检查对象是AViewController还是BViewController

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

NSObject上有一些方法可以让你检查类。

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

然后有两个方法, -isKindofClass:isMemberOfClass:

-isKindOfClass:将接收者与作为参数传入的类进行比较,并根据类是否是给定类的相同types或子类来返回true或false。

-isMemberOfClass:将接收者与作为参数传入的类进行比较,并根据类是否严格与给定类相同的类来返回true或false。

Objective-C中更常见的模式是检查对象是否响应您感兴趣的方法。例如:

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