如何将UIDatePicker的日期设置为另一个日期?

And*_*rew 7 iphone cocoa-touch nsdate uidatepicker

我尝试过各种各样的东西,包括:

[timepicker setDate: [NSDate mondayalarmtime]];
Run Code Online (Sandbox Code Playgroud)

timepicker.date = mondayalarmtime;
Run Code Online (Sandbox Code Playgroud)

每次,这条线都会使模拟器崩溃.我的mondayalarmtime在viewDidLoad中定义:

 NSDateFormatter *inputFormat = [[NSDateFormatter alloc] init];
 [inputFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
 NSDate *inputDate = [inputFormat dateFromString: @"2011-01-01 09:00:00"];

 NSLog (@"The input date %@", inputDate);

 NSDate *mondayalarmtime = inputDate;
Run Code Online (Sandbox Code Playgroud)

NSLog返回:

The input date 2011-01-01 09:00:00 +0000
Run Code Online (Sandbox Code Playgroud)

在尝试将imepicker设置为mondayalarmtime之前,将NSLog请求mondayalarmtime返回相同的..

Mondays alarm time.. 2011-01-01 09:00:35 +0000
Run Code Online (Sandbox Code Playgroud)

然后当它尝试将timepicker日期设置为mondayalarmtime时,它会与报告崩溃:

Program received signal:  “EXC_BAD_ACCESS”.
Run Code Online (Sandbox Code Playgroud)

max*_*eis 6

您正在向NSDate发送mondayalarmtime消息.NSDate不理解此消息

尝试使用mondayalarmtime设置属性并调用getter

[timepicker setDate:[self mondayalarmtime]];
Run Code Online (Sandbox Code Playgroud)