== 都可以指向一个对象
问题1:instancetype和id区别?
答:
◦ id在编译的时候不能判断对象的真实类型
◦ instancetype在编译的时候可以判断对象的真实类型
◦ 如果init方法的返回值是instancetype,那么将返回值赋值给一个其它的对象会报一个警告
◦ 如果是在以前, init的返回值是id,那么将init返回的对象地址赋值给其它对象是不会报错的
◦ id可以用来定义变量, 可以作为返回值, 可以作为形参
◦ instancetype只能用于作为返回值
问题2:instancetype 应用场景?
答: 以后但凡自定义构造方法, 返回值尽量使用instancetype, 不要使用id
注意: 以后但凡自定义构造方法, 返回值尽量使用instancetype, 不要使用id
浙公网安备 33010602011771号