我有点难以理解为什么以下代码会导致我的应用程序崩溃:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMMM d, yyyy"];
NSDate *date = [dateFormatter dateFromString:cDate];
datePicker.date = date;
NSString *dateStr = [dateFormatter stringFromDate:date];
[dateLabel setText:dateStr];
[dateFormatter release];
如果我注释掉上面的内容,应用程序就可以了。另外,如果我将日期格式更改为以下格式,则不会发生崩溃:
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
In my UIDatePicker
委托,我重复了如下代码(并且效果很好):
-(IBAction)datePickerValueChanged:(id)sender
{
NSDate *date = [datePicker date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"MMMM d, yyyy"];
NSString *dateStr = [dateFormatter stringFromDate:date];
[dateLabel setText:dateStr];
}
我得到的错误如下:
*** Assertion failure in -[UIDatePickerView _updateBitsForDate:andReload:animateIfNeeded:], /SourceCache/UIKit/UIKit-747.38/UIDatePicker.m:892
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'