obj-c对NSString的成瘾功能

时间:2011-08-01 12:45:36

标签: objective-c metaprogramming implementation

我正在使用将NSData转换为十六进制NSString

的函数声明
@implementation NSString (Hex)

+ (NSString*) hexStringWithData: (unsigned char*) data ofLength: (NSUInteger) len
{
    NSMutableString *tmp = [NSMutableString string];

    for (NSUInteger i=0; i<len; i++)
        [tmp appendFormat:@"%02x", data[i]];

    return [NSString stringWithString:tmp];
}

@end
  • 这个程序的名称是什么?
    (我的意思是如何将这个@implementation称为/我没有定义的类,以及文档在哪里?)
  • (Hex)部分实施的目的是什么?

由于

1 个答案:

答案 0 :(得分:3)

这是一个class cateogry,提供了一种向现有类添加额外方法而无需子类化的方法。 Hex是此特定类别的名称,因为单个类可以包含多个类别。在创建类别时应特别注意,因为可以覆盖现有或未来的方法。