instancetype 和ID区别

instancetype的作用,就是使那些非关联返回类型的方法返回所在类的类型!

好处:确定对象类型帮编译器更好定位代码问题。

相同点:
作为方法的返回类型

不同点:
1、instancetype 可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象。

2、instancetype只能作为返回值,id可以作为参数.

-(void)setValue:(instancetype)value

{

}

报错!

应该写成

-(void)setValue:(id)value

{

}

你可能感兴趣的:(instancetype 和ID区别)