instancetype 和 id 的区别

1.instancetype 和 id 是为了类的扩展和继承,其中instancetype表示对应的返回类型,id表示任意类型。

2.instancetype 可以使用点语法,id不可以使用点语法。

3.id为任意类型所以id可以调用任何对象的get set 方法 (即使对象没有对应的属性)容易造成错误。

4.所以创建方法时候用instancetype 不用id。

5.方法实现中要用self,以便继承(Flag  *flag = [[self alloc]init]; )这样子类继承时候创建的就是子类的对象 而不是父类的对象。


版权声明:本文为asuno_1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。