isKindOfClass:

#import <Foundation/Foundation.h>

@interface Dog : NSObject
- (void)bark;
@end


#import "Dog.h"

@implementation Dog
- (void)bark{
    NSLog(@"wonwonwonwogh..............");
}
@end


#import <Foundation/Foundation.h>
#import "Dog.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Dog *dog1=[[Dog alloc]init];
        Dog *dog2=[[Dog alloc]init];
        Dog *dog3=[[Dog alloc]init];
        NSArray *arr=[[NSArray alloc]initWithObjects:@"one",@"two",dog1,@"oc",dog2,dog3,nil];
        for (id obj in arr) {
            // [Dog class]獲取一個類 的類型 Class類型
            //Class 存放的是類的信息
            //- isKindOfClass:判斷一個對象是不是某個類的實例
            if ([obj isKindOfClass:[Dog class]]) {
                //判斷obj指向的對象 是不是 Dog 類的實例
                [obj bark];
            }else{
                NSLog(@"I am a string");
            }
        }
    }
    return 0;
}
相關文章
相關標籤/搜索