0

好的,这让我感到困惑,我希望一些新的观点可以让我在这里得出正确的结论......我在我尝试使用它的第三个项目上从 NSDateFormatter 返回一个 NULL,我可以' t似乎弄清楚为什么。这是我的代码:

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];

它每次都将 NULL 返回给 tempDate。运行 NSLogs,我们可以看到 [activeFan 生日] 设置为“1980 年 5 月 2 日”或任何放入变量的日期。由于这不起作用,我将其更改为此进行测试:

[format setDateFormat:@"MMM dd yyyy"];
tempDate = [format dateFromString:@"Jan 22, 1976"];  // TESTING

它仍然每次都返回 NULL。

我认为这些代码行之间可能发生了某些事情(它们不是直接相邻的,而是使用相同的方法),但是与 NSDate、NSDateFormatter 或任何这些对象变量没有任何关系。只有几个 NSTextFields 的出口。

我完全不知所措。任何帮助将不胜感激!

4

1 回答 1

1

您的格式字符串必须与您在 dateFromString: 方法中提供的字符串相匹配。在上一个版本中,您的格式字符串中没有逗号,但您的测试字符串中有逗号(并且可能在 [activeFan 生日] 中)。

于 2012-05-10T03:57:38.673 回答