2017-04-27 10 views
0

カスタムfirstWeekdayを設定する可能性はありますか? NSCalendarをサブクラス化する必要がありますか?今のNSCalendar - 独自のfirstWeekdayをグローバルに設定します

私はあなたが怠惰なインスタンス化変数でNSCalendarのカテゴリを書くことができNSCalendar

NSCalendar* calendar = [NSCalendar currentCalendar]; 
calendar.firstWeekday = [NSUserDefaultsHelper firstDayOfWeek]; 

答えて

1

を使用する必要があるすべての場所でこのようにそれを設定する必要があります。そして、

@interface NSCalendar (WeekdayCalendar) 

+ (NSCalendar *)customWeekdayCalendar; 

@end 

@implementation NSCalendar (WeekdayCalendar) 

+ (NSCalendar *)customWeekdayCalendar 
{ 
    static NSCalendar *customCalendar = nil; 
    if (customCalendar == nil) { 
     customCalendar = [self currentCalendar]; 
     customCalendar.firstWeekday = [NSUserDefaultsHelper firstDayOfWeek]; 
    } 
    return customCalendar; 
} 

@end 

どこからでもカレンダーを使用できます

NSCalendar *myCalendar = [NSCalendar customWeekdayCalendar]; 
関連する問題