为什么某些Objective-C文件名的名称中带有减号或加号

时间:2012-10-17 16:07:57

标签: objective-c cocoa

在我想要添加到项目中的库中,有一个名为NSString-Base64Extensions.h(带有NSString-Base64Extensions.m)的文件和一个名为NSString + PECrypt.h(带有NSString + PECrypt.m)的文件。 / p>

这意味着什么?

3 个答案:

答案 0 :(得分:17)

这是命名文件的惯例,它包含现有类的类别。 - 和+符号只是表达方式的不同方式,除了风格之外没有区别。

您可以期望NSString + PECrypt.m包含一个添加到NSString方法的类别。同样,NSString-Base64Extensions是NSString上的类别方法。

类别是在Objective-C中向现有类添加方法的一种方式,没有子类化,将更详细地讨论here

答案 1 :(得分:3)

如果编写文件的程序员遵循Cocoa命名约定,那么这些是实现类的类别的文件。例如,在NSString-Base64Extensions.h中,应该有以下类别实现:

@implementation NSString (Base64Extensions)

// ...

@end

顺便说一下,类和类别名称之间的分隔符是“ - ”还是“+”符号并不重要,它可以是下划线或开发人员喜欢的任何内容。

答案 2 :(得分:2)

它们是用于包含特定类别类别的文件的约定。

NSString+PECrypt.h  ---> NSString : class name, PECrypt : category name