iOS中的关键字和宏(1):instancetype与id的区别

instancetype意思为实例化,instancetypeid一样,都可以指向一个继承了Object(或者NSObject)类的对象,都可以作为方法的返回类型

区别在于:instancetype只能作为方法返回值,会返回该方法所在的类的实例化对象,所以instancetype被称为关联返回类型。id可以作为方法返回值也可以作为参数,id只能返回未知类型的对象

使用instancetype会在编译时进行类型检查,有利于开发者在编译阶段发现错误。id是在运行时才确定类型

系列文章
iOS中的关键字和宏(2):static与extern总结
iOS中的关键字和宏(3):常见的几个宏

参考文章
iOS[OC]基础篇之instancetype和id区别

你可能感兴趣的:(iOS中的关键字和宏(1):instancetype与id的区别)