相同点
都可以作为方法的返回类型,表示某个方法返回的未知类型的Objective-C对象。
不同点
1.instancetype需要返回和方法所在类相同类型的对象(如果不是将会警告),id只能返回未知类型的对象;
2.instancetype只能作为返回值,不能像id那样作为参数.
使用instancetype代替id会提高代码的类型安全
都可以作为方法的返回类型,表示某个方法返回的未知类型的Objective-C对象。
1.instancetype需要返回和方法所在类相同类型的对象(如果不是将会警告),id只能返回未知类型的对象;
2.instancetype只能作为返回值,不能像id那样作为参数.
使用instancetype代替id会提高代码的类型安全