id和instancetype的区别

来源:互联网 发布:获取访客手机号码源码 编辑:程序博客网 时间:2024/06/06 00:48

id和instancetype的区别

区别1:类型确定的时期

  • 在ARC(Auto Reference Count)环境下:

    instancetype:编译期确定类型。

    id类型:运行时确定类型。

  • 在MRC(Manual Reference Count)环境下:

​ instancetype和id一样,不做具体类型检查。

区别2:作为方法参数

id可以作为方法的参数,但instancetype不可以。

instancetype只适用于初始化方法和便利构造器的返回值类型。

注意:在自定义初始化或者便利构造方法中尽量使用instancetype作为返回值类型,保证类型安全。

原创粉丝点击