NSDateFormatter在dateFromString上返回nil

时间:2012-01-30 16:29:59

标签: objective-c nsdateformatter

_savedTime以字符串形式记录为“2012-01-30 09:40:29 +0000”。

但是在尝试转换为NSDate时,它正在崩溃“SIGBRT”。

NSString * _savedTime = [_savedAlarm objectForKey:@"AlarmTime"];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss Z"];

NSDate* time1 = [dateFormat dateFromString:_savedTime];

在最后一行打破错误:

  

- [__ NSDate length]:无法识别的选择器发送到实例0xa10c540

帮助!我的格式看起来是正确的,但也许我只需要一套单独的眼睛。

1 个答案:

答案 0 :(得分:1)

该错误表示_savedTime(或密钥@AlarmTime的值)已经是NSDate

无需转换,您可以这样做:

NSDate* _savedTime = [_savedAlarm objectForKey:@"AlarmTime"];


日期格式化程序假定传递给dateFromString:的参数为NSString,并尝试在其上调用length并失败。