好吧,这个让我感到困惑,我希望一些新观点可以让我在这里得出正确的结论......我在第三个项目上获得了一个NULL返回形式的NSDateFormatter我尝试使用它我似乎无法弄清楚为什么。这是我的代码:
NSDateFormatter *format = [[NSDateFormatter alloc] init];
NSDate *tempDate;
[format setDateFormat:@"MMM dd, yyyy"];
tempDate = [format dateFromString:[activePerformance performanceDate]];
[outletPerformanceDate setDateValue:tempDate];
// display performance time and set length
[format setDateFormat:@"hh:mm a"];
tempDate = [format dateFromString:[activePerformance performanceTime]];
[outletPerformanceTime setDateValue:tempDate];
这两项工作都正确并且符合预期。然后就是这个:
[format setDateFormat:@"MMM dd yyyy"];
tempDate = [format dateFromString:[activeFan birthday]];
[outletFansBirthday setDateValue:tempDate];
每次都向tempDate返回NULL。运行NSLogs,我们可以看到[activeFan生日]被设置为“1980年5月2日”或者放入变量的任何日期。由于这不起作用,我将其改为此测试:
[format setDateFormat:@"MMM dd yyyy"];
tempDate = [format dateFromString:@"Jan 22, 1976"]; // TESTING
每次都会返回NULL。
我想也许在这些代码行之间发生了一些事情(它们不是直接相邻,但是在同一个方法中)但是没有任何东西与NSDate,NSDateFormatter或任何这些对象变量有任何关系。只有几个NSTextFields的出口。
我完全不知所措。任何帮助将不胜感激!
答案 0 :(得分:1)
您的格式字符串必须与您在dateFromString:方法中提供的字符串相匹配。在上一个版本中,您的格式字符串中没有逗号,但您在测试字符串中(可能在[activeFan生日]中)。