简述id,instancetype和__kindof的区别

id:

好处:可以调用任何对象方法

坏处:不能进行编译检查

+ (id)person;


instancetype

好处:自动识别当前类的对象

坏处:不会提示返回的类型

+ (instancetype)person;

注:Xcode5之后才有instancetype,在之前一般用id,instancetype出现之后一般用instancetype


__kindof:表示当前类或者它的子类

好处:提示返回的类型,也不会出现提示类型不匹配的警告

+ (__kindof Person *)person;

开发中用得最多的是instancetype和__kindof。

你可能感兴趣的:(简述id,instancetype和__kindof的区别)