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
相關文章
相關標籤/搜索