6 instancetype和id

2020-05-13  本文已影响0人  哈库呐玛塔塔__

都可以作为方法的返回类型,但一般是用instancetype。

instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象。

作为方法返回类型时的区别:

返回id ,NSString *str =【Person person】 类方法返回的是id,id可以是任何类型,赋值给str编译就没有问题。

但是 返回类型时instancetype时,他会返回你当前实现这个类方法的类的名字,上述例子就会返回一个  Person  ,编译时 你将一个person类型的实例 赋值给字符串,就会出现警告

instancetype只能作为方法的返回值类型,不能修饰参数

上一篇 下一篇

猜你喜欢

热点阅读