id:

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

坏处:不能进行编译检查

instancetype

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

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

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

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

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

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

04-30 20:33