9

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

这意味着什么?

4

3 回答 3

19

这是命名文件的约定,其中包含现有的类别。- 和 + 符号只是表达方式不同,除了风格没有区别。

您可以期望 NSString+PECrypt.m 包含一个添加到 NSString. 同样,NSString-Base64Extensions 是NSString.

类别是在 Objective-C 中向现有类添加方法的一种方式,无需子类化,此处将进行更详细的讨论。

于 2012-10-17T16:11:01.173 回答
3

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

@implementation NSString (Base64Extensions)

// ...

@end

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

于 2012-10-17T16:12:36.963 回答
2

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

NSString+PECrypt.h  ---> NSString : class name, PECrypt : category name
于 2012-10-17T16:10:51.193 回答