在浏览了Foundation
框架中的一些头文件(NSString.h
例如)之后,我注意到 for 的声明NSString
如下所示:
@interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
/* NSString primitive (funnel) methods. A minimal subclass of NSString just needs to implement these, although we also recommend getCharacters:range:. See below for the other methods. */
- (NSUInteger)length;
- (unichar)characterAtIndex:(NSUInteger)index;
@end
其余方法在类别中声明,而类别又在同一个头文件中声明。
在阅读了这个答案之后,暗示似乎主要是为了组织代码。
在与类声明相同的标头中声明类别是否有好处(除了方法的逻辑分组),尤其是在隐藏实现的情况下,例如NSString
?