区别:
1)instancetype不能定义变量,只能做方法的返回值。在做方法的返回值的时候,可以智能判断返回值的类型和要接受的类型是否一致,当不一致的时xcode会给出警告。
在写方法的时候,建议使用它。
2)id是一个类型,可以定义变量,也可以作为方法的返回值。但在做方法的返回值的时候不是智能判断类型问题。
本文详细对比了instancetype与id这两种Objective-C中的类型标识符。instancetype主要用于方法返回值,并能智能匹配类型;而id既可以定义变量也能作为方法返回值,但在类型检查上不如instancetype智能。
区别:
1)instancetype不能定义变量,只能做方法的返回值。在做方法的返回值的时候,可以智能判断返回值的类型和要接受的类型是否一致,当不一致的时xcode会给出警告。
在写方法的时候,建议使用它。
2)id是一个类型,可以定义变量,也可以作为方法的返回值。但在做方法的返回值的时候不是智能判断类型问题。
2万+

被折叠的 条评论
为什么被折叠?