instancetype和id的异同

1、相同点

都可以作为方法的返回类型

2、不同点

  • instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;
  • instancetype只能作为返回值,不能像id那样作为参数,比如下面的写法:
- (void)setName:(instancetype)name
{
  // do something  
}

上面这个是错误的

应该是这样的

- (void)setName:(id)name
{
  // do something  
}
原文地址:https://www.cnblogs.com/melodyzhy/p/4636357.html