《Objective-C 编程》37.category

  • 通过使用范畴(category,范畴、分类),可以为任何已有的类添加方法。
  • ⚠️ 建议使用带有前缀(bnr_)的方法:实现了使用范畴的方法时,如果在类中已经存在名称相同的另一个方法,这个使用了范畴的方法就会替换掉之前存在的方法。
  • 应该使用范畴来给已存在的类增加新方法,而不要在范畴中替换已经存在的方法:这种情况下应该创建该类的子类。

示例:

NSDate 类添加一个创建日期的类方法:

《Objective-C 编程》37.category_第1张图片
  • NSDate+VowelCounting.h 文件

    #import 
    
    @interface NSDate (VowelCounting)
    
    + (NSString *)bnr_createCustomDate;
    
    @end
    
  • NSDate+VowelCounting.m 文件

    #import "NSDate+VowelCounting.h"
    
    @implementation NSDate (VowelCounting)
    
    + (NSString *)bnr_createCustomDate {
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd"];
        return [dateFormatter stringFromDate:[NSDate date]];
    }
    
    @end
    
  • 使用

    NSString *date = [NSDate bnr_createCustomDate];
    

你可能感兴趣的:(《Objective-C 编程》37.category)