据我了解,instancetype 向编译器声明方法的返回类型与接收消息的类相同。
传统上,我总是将类名显式设置为返回类型来声明我的单例初始化程序:
@interface MyClass : NSObject
+ (MyClass *)sharedInstance;
@end
现在我想知道是否应该使用 instancetype ,如下所示:
@interface MyClass : NSObject
+ (instancetype)sharedInstance;
@end
最后结果是一样的,我只是想知道这里是否有理由使用其中一个?