Category

来源:互联网 发布:上海易娱网络 编辑:程序博客网 时间:2024/05/16 15:48

Category主要用于在不创建继承类的情况下实现对已有类的扩展,向已有类中添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。例子:@interface UIColor (HexColor)
+ (UIColor *)HexColor:(NSString *) hexColor;
@end

#import "UIColor+HexColor.h"@implementation UIColor (HexColor)+ (UIColor *)HexColor:(NSString *) hexColor {    unsigned int redInt_, greenInt_, blueInt_;    NSRange rangeNSRange_;    rangeNSRange_.length = 2;    rangeNSRange_.location = 0;    [[NSScanner scannerWithString:[hexColor substringWithRange:rangeNSRange_]]     scanHexInt:&redInt_];    rangeNSRange_.location = 2;    [[NSScanner scannerWithString:[hexColor substringWithRange:rangeNSRange_]]     scanHexInt:&greenInt_];    rangeNSRange_.location = 4;    [[NSScanner scannerWithString:[hexColor substringWithRange:rangeNSRange_]]     scanHexInt:&blueInt_];    return [UIColor colorWithRed:(float)(redInt_/255.0f)                           green:(float)(greenInt_/255.0f)                            blue:(float)(blueInt_/255.0f)                           alpha:1.0f];}@end

调用

    self.view.backgroundColor = [UIColor HexColor:@"ec2003"];
0 0