1、id类型
id是动态类型,程序只有在运行时才能确定它的具体类型。是指向哪个对象的。
id是一种通用的对象类型,它可以用来存储属于任何类的对象也可以理解为万能指针
id 类型的定义 :
Typedef struct objc object{
Class isa;
} *id;
局限性:调用一个不存在的方法,编译器会马上报错。
iOS5之后推出了instancetype类型
instancetype和id的异同
1) 相同点都可以作为方法的返回类型
2) 不同点
1,instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;
2,instancetype只能作为返回值,不能像id那样作为参数, |
|