托码特人
用代码摇滚这个世界
一个关注科技与人文的技术博客
对比
1、相同点
都可以作为方法的返回类型
2、不同点
- instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;
- instancetype只能作为返回值,不能像id那样作为参数,比如下面的写法:
- (void)setValue:(instancetype)value
{
}
就是错的,应该写成:
- (void)setValue:(id)value
{
}
请注意: 本文所述内容及观点仅代表个人看法,由于知识水平有限,行文难免出现差错,欢迎留言交流。谢谢!