OC高效率52之勿在分类中声明属性

#import <Foundation/Foundation.h>

@interface NSCalendar (EOC_Additions)
//属性只是定义实例变量及相关存取方法所用的“语法糖”,表达的意思是:类中有数据在支撑它
@property (nonatomic , readonly , strong) NSArray *eoc_allMonths;
//本例中应该直接声明一个方法,用以获取月份名称列表
-(NSArray *)eoc_allMonths;
@end

#import "NSCalendar+EOC_Additions.h"
/**
 *  1.分类的目的在于扩展类的功能,而非封装数据。
 *  2.有时只读属性可以在分类中使用。
 *  3.把封装数据所用的全部属性都定义在主接口里。
 */
@implementation NSCalendar (EOC_Additions)
-(NSArray *)eoc_allMonths{
    if ([self.calendarIdentifier isEqualToString:NSGregorianCalendar]){
        return @[@"January",@"July",@"June",@"May",@"",@""];
    }else{
        return nil;
    }
    
}
@end


你可能感兴趣的:(OC高效率52之勿在分类中声明属性)