23-ocinstancetype和id区别

Posted wc&Home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23-ocinstancetype和id区别相关的知识,希望对你有一定的参考价值。

1.id在编译的时候不能判断对象的真实类型

instancetype在编译的时候可以判断对象的真实类型

2.如果init方法的返回值是instancetype,那么将返回值赋值给一个其它的对象会报一个警告

如果是在以前, init的返回值是id,那么将init返回的对象地址赋值给其它对象是不会报错的

3.id可以用来定义变量, 可以作为返回值, 可以作为形参

instancetype只能用于作为返回值:

 

instancetype 应用场景

 但凡自定义构造方法, 返回值尽量使用instancetype, 不要使用id

 

以上是关于23-ocinstancetype和id区别的主要内容,如果未能解决你的问题,请参考以下文章

SQL中IN和EXISTS用法的区别

oracle中in,not in和exists,not exists之间的区别

Mysql中FIND_IN_SET()和IN区别简析

关于oracle中in和exists的区别

MySQL中exists和in的区别及使用场景

mongo_2 $in 和 $all 区别