instancetype和id的异同
1、相同点
都可以作为方法的返回类型
2、不同点
①instancetype可以返回和方法所在类相同类型的对象,instancetype的作用,就是使那些非关联返回类型的方法返回所在类的类型!
id只能返回未知类型的对象;
②instancetype只能作为返回值,不能像id那样作为参数,比如下面的写法:
- (void)setValue:(instancetype)value
{
//do something
}
以上是错误的,应该:
- (void)setValue:(id)value
{
//do something
}
网友评论