
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"];
在我的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'解决方法 问题是输入日期是“yyyy-MM-dd”格式,但是与dateFromString一起使用的日期格式化程序格式为“MMMM d,yyyy”.如果您希望接受两种格式,则需要尝试使用这两种格式进行解析.
例如:
[dateFormatter setDateFormat:@"MMMM d,yyyy"];NSDate *date = [dateFormatter dateFromString:cdate];if (date == nil) { [dateFormatter setDateFormat:@"yyyy-MM-dd"]; date = [dateFormatter dateFromString:cdate]; if (date == nil) { // Handle the situation where the date string Could not be parsed }} 总结 以上是内存溢出为你收集整理的iphone – NSDate和NSDateFormatter问题全部内容,希望文章能够帮你解决iphone – NSDate和NSDateFormatter问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)