UIDatePicker setMinimumDate和setMaximumDate设置为null

pir*_*800 2 iphone nsdate uidatepicker ios

我不知道为什么这个非常基本的代码设置空值.

NSDate *currentTime = [NSDate date];
[datePicker setMinimumDate:currentTime];
[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:kSecondsInYear]];
NSLog(@"cur: %@, min: %@, max: %@",currentTime,datePicker.minimumDate,datePicker.maximumDate);
Run Code Online (Sandbox Code Playgroud)

输出:cur:2011-09-09 16:18:18 GMT,min:(null),max:(null)

Obl*_*ely 5

鉴于以下工作正常,问题肯定在于datePicker.

UIDatePicker* datePicker = [[UIDatePicker alloc] init];
NSLog(@"DatePicker: %@", datePicker);
NSDate *currentTime = [NSDate date];
[datePicker setMinimumDate:currentTime];
[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:40000]];
NSLog(@"cur: %@, min: %@, max: %@",currentTime,datePicker.minimumDate,datePicker.maximumDate);
Run Code Online (Sandbox Code Playgroud)

如果你添加NSLog(@"DatePicker: %@", datePicker);到你的代码片段,它应该报告一些类似的东西:DatePicker: <UIDatePicker: 0x4b36740; frame = (0 0; 320 216); layer = <CALayer: 0x4b33940>>.如果它返回(null)(我非常强烈怀疑),那么它不是以编程方式创建的,也不是在Interface Builder中连接的.