Cover image
Hero image

托码特人

分享科技与人文

一个关注互联网的技术博客

id和instancetype的异同

对比

1、相同点

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

2、不同点

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

就是错的,应该写成:

- (void)setValue:(id)value
{
    //do something
}
赞赏

声明: 本文内容由托码斯创作整理,由于知识水平和时效性问题,行文可能存在差错,欢迎留言交流。读者若需转载,请保留出处,谢谢!