【发布时间】:2011-01-03 15:06:36
【问题描述】:
我尝试了各种方法,包括:
[timepicker setDate: [NSDate mondayalarmtime]];
和
timepicker.date = mondayalarmtime;
每次,这条线都会使模拟器崩溃。我的 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;
NSLog 返回:
The input date 2011-01-01 09:00:00 +0000
在尝试将 imepicker 设置为 mondayalarmtime 之前放置一个 NSLog 请求 mondayalarmtime 会返回相同的结果..
Mondays alarm time.. 2011-01-01 09:00:35 +0000
然后当它尝试将时间选择器日期设置为 mondayalarmtime 时,它会因报告而崩溃:
Program received signal: “EXC_BAD_ACCESS”.
【问题讨论】:
-
听起来像是典型的内存管理不善问题。我们需要查看更多代码。
-
1) 您是否使用 ARC,2) 如果它是 ivar,为什么要在 viewDidLoad 中本地声明 mondayalarmtime,3) 您的日志中的 35 秒差异是错字还是您实际看到的?
-
对不起,被日期弄糊涂了(多么讽刺)我以为这是一个新问题!一月病。
标签: iphone cocoa-touch nsdate uidatepicker