1、相同点
都可以作为方法的返回类型
2、不同点
1、instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;
2、instancetype只能作为返回值,不能像id那样作为参数
// 错!
-(void) setValue: (instancetype)value
{
//...
}
// 对
-(void) setValue: (id)value
{
//...
}
都可以作为方法的返回类型
1、instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;
2、instancetype只能作为返回值,不能像id那样作为参数
// 错!
-(void) setValue: (instancetype)value
{
//...
}
// 对
-(void) setValue: (id)value
{
//...
}