NSObject中的常用方法

    //1.NSObject
    Person *xiaoming = [[Person alloc]init];
    
    SEL selector = @selector(eat);
    
    [xiaoming performSelector:selector];
    
    //在oc中,方法分为共有方法和私有方法,共有方法会在.h文件中声明,而私有方法并不会声明,直接在.m文件中实现,如果想要调用私有方法,可以用performSelector调用
    
    //------------NSObject中的常用方法--------------
    //1.比较两个对象  isEqualTo 比较的是两个对象的地址
    Person *p1 = [[Person alloc]init];
    Person *p2 = [[Person alloc]init];
    Person *p3 = [[Person alloc]init];
    
    //由于调用了单例方法,所以用实例方法创建出的对象都是同一个对象
    BOOL count = [p1 isEqualTo:p2];
    NSLog(@"%d",count);
    BOOL count1 = [p1 isEqualTo:p3];
    NSLog(@"%d",count1);
    
    //isMemberOfClass 判断一个对象是否由某个类创建出来的
    BOOL count2 = [p1 isMemberOfClass:[Person class]];
    NSLog(@"count2 = %d",count2);
    
    //isKindOfClass 判断一个对象是否由一个类或其子类所创建出来
    BOOL count3 = [p2 isKindOfClass:[NSObject class]];
    NSLog(@"count3 = %d",count3);
    
    //resoindsToSelector 可以判断一个方法是否声明,其中私有方法默认声明过了
    BOOL count4 = [p3 respondsToSelector:@selector(drink)];
    NSLog(@"count4 = %d",count4);
    

 

posted on 2016-06-30 16:14  LuckyTiger  阅读(262)  评论(0编辑  收藏  举报