简述id,instancetype和__kindof的区别

id:

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

坏处:不能进行编译检查

+ (id)person;

 

instancetype

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

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

+ (instancetype)person;

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

 

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

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

+ (__kindof Person *)person;

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

posted @ 2016-12-13 15:49  岩大大  阅读(245)  评论(0编辑  收藏  举报