#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