oc-25-id类型

/**
 id:万能指针
    能够指向任何OC对象.
id = NSObject *,
 
   id cat = [Cat new];
   [cat jump];
 
   NSObject:是所有类的父类,基类.可以指向任何OC对象.
   id:万能指针,可以指向任何OC对象.
 
   区别:编译器对NSObject做类型检测,但是不对id做类型检测. 
 */

#import <Foundation/Foundation.h>
#import "Cat.h"
#import "Animal.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
        NSObject *c = [Cat new];
        [(Cat *)c jump];
        
        // id能够指向任何OC对象
        id cat = [Cat new];
        [cat jump];
    }
    return 0;
}
void test1(){
    // 下面代码无法运行成功,因为动物没有跳的行为.
    Animal *ani = [Animal new];
    [(Cat *)ani jump];
}

 

posted @ 2016-03-23 16:47  无天666  阅读(177)  评论(0编辑  收藏  举报