在方法的返回类型中指示ObjC类别

时间:2017-09-05 20:19:15

标签: objective-c objective-c-category instancetype

如果我在一个类上有一个类别,并且我编写了一个返回类型但没有提到类别的构造函数,那么Xcode是否应该标记带有警告?

@implementation NSDate (MyBigDates)     
+ (NSDate*) bigFubarDate {

}

// versus:
+ (NSDate(MyBigDates) *) bigFubarDate {

}
// or better:
+ (instancetype) bigFubarDate {

}

因为返回的对象有NSDate的方法加上 MyBigDates

1 个答案:

答案 0 :(得分:1)

ObjC的本质是程序中的每个 NSDate都有这些方法,包括通过其他方式创建的方法。包括那些你没有创建的。*类别中的方法作为启动过程的一部分添加到类中,几乎所有其他方法。

在这种情况下,没有用#34; NSDate表示这些方法",因为没有区别。

*这就是为您添加到框架类的方法添加前缀的重要性。