NSTextFieldCell に 10.4 スタイルの日付フォーマッタを適用しています。setTwoDigitStartDate: (エポック日付と「参照」日付の両方で試しました) を呼び出しますが、2 桁の年で日付を入力すると、年が 2009 ではなく 0009 に設定されます。
ヘッダ:
IBOutlet NSTextFieldCell *transactionDateField; // outlet *IS* set correctly in IB
実装:
- (void)awakeFromNib {
NSDate *startDate = [NSDate dateWithTimeIntervalSinceReferenceDate:0];
//NSDate *startDate = [NSDate dateWithTimeIntervalSince1970:0];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormat setDateStyle:NSDateFormatterMediumStyle];
[dateFormat setTwoDigitStartDate:startDate];
[dateFormat setLenient:YES]; // tried with & without this
[transactionDateField setFormatter:dateFormat];
}
明らかな何かが欠けていますか?