我有datePicker
个实例,该实例与IBOutlet
。
@interface SomeClass() {
__weak IBOutlet UIDatePicker *datePicker;
}
现在,在我的awakeFromNib
方法中,我设置了minimumDate
,maximumDate
和date
属性
- (void)awakeFromNib {
[datePicker setMinimumDate:[[NSDate date] dateByAddingTimeInterval:60*10]];
[datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:60*60*24*10]];
[datePicker setDate:datePicker.minimumDate];
NSLog(@"%@", datePicker.date);
//Logs Correct Value
}
当我在datePicker.date
方法中设置awakeFromNib
后,我会记录- (IBAction)aButtonTouchUpInsideEvent:(UIButton *)button {
NSLog(@"%@", datePicker.date);
//Logs [NSDate date] value
}
,它会给出正确的值。直到现在这么好。
现在,当我尝试在视图初始化之后获取日期值时,例如,在按钮单击事件上,它为我提供了默认值,即当前日期值。
awakeFromNib
我想知道为什么它没有给我我在{{1}}方法中设置的值。我试着寻找这个问题,但没有运气。
答案 0 :(得分:2)
系统会在某个时候覆盖您的值。您可以将代码移至-willMoveToSuperview:
答案 1 :(得分:0)
试试这个
NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr];
[myPicker setDate:date];
然后尝试从选择器获取日期时间可能存在设置时间的问题