iphone – NSDate和NSDateFormatter问题

iphone – NSDate和NSDateFormatter问题,第1张

概述我有点难以理解为什么以下代码崩溃了我的应用程序: NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"MMMM d, yyyy"];NSDate *date = [dateFormatter dateFromString:cDate];datePicker @H_419_6@ 我有点难以理解为什么以下代码崩溃了我的应用程序:

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问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1072280.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存