UIDatePicker.date bug

时间:2015-04-22 14:51:05

标签: objective-c uidatepicker

我在从UIDatePicker获取日期时遇到问题。我知道获取日期的代码,但它只是继续获取​​CURRENT日期,而不是选择日期的日期。

- (IBAction)buttonPressed:(UIButton *)sender {

NSDateFormatter *formate = [[NSDateFormatter alloc]init];

NSDate *settedDate = self.myPickedDate.date;
[formate setDateFormat: @"dd.MMM.yyyy @ HH:mm:ss"];

NSString *dateString = [formate stringFromDate:settedDate];
NSLog(@"datestring: %@", dateString);
}

我将myPicker设置为2015年5月15日15:30,Xcode会将当前日期记录下来(如果他16:19他将在2015年5月22日16:19退出,无论如何。

Xcode 5.1.1在模拟器iOS 7.1.2上(没有在真实设备上试过)。

1 个答案:

答案 0 :(得分:1)

问题在于,viewDidLoad你在说这个:

self.myPickedDate = [[UIDatePicker alloc] init];

所以,考虑一下代码。你在做什么是创建一个 new 日期选择器,与你界面中的完全不同,并且代替你的接口,self.myPickedDate先前已设置(因为它是一个插座)。因此,从现在开始,self.myPickedDate引用了一个不同的日期选择器,一个在您的界面中的日期选择器(它仅仅保存在内存中)!因此,您在界面中所做的任何事情,例如在您看到的日期选择器中设置日期,都会对self.myPickedDate产生影响。

因此,要解决问题,删除该行代码