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]; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步