instancetype
意思为实例化,instancetype
与id
一样,都可以指向一个继承了Object(或者NSObject)类的对象,都可以作为方法的返回类型
区别在于:instancetype
只能作为方法返回值,会返回该方法所在的类的实例化对象,所以instancetype
被称为关联返回类型。id
可以作为方法返回值也可以作为参数,id
只能返回未知类型的对象
使用instancetype
会在编译时进行类型检查,有利于开发者在编译阶段发现错误。id是在运行时才确定类型
网友评论