iPhone上的NSDate初始化程序问题

时间:2010-02-18 01:56:19

标签: iphone nsdate nsdateformatter

我正在尝试在iPhone上使用Dates进行一些基本操作。我想拿一个像“2010-02-19”这样的字符串,把它变成一个像“星期五,2月19日”这样的字符串。我将收到的字符串将始终在2010-02-19。现在,我正在运行以下代码,但是它会产生一个警告“NSDate可能无法响应+ dateWithNaturalLanguageString:”

NSDate *date = [NSDate dateWithNaturalLanguageString:scheduled];
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@"EEEE, MMM dd"];

return [df stringFromDate:date];

代码有效,但会产生警告。我应该担心它,还是iPhone上没问题。我应该使用另一个NSDate初始化程序吗?

2 个答案:

答案 0 :(得分:2)

+dateWithNaturalLanguageString似乎仅适用于Mac:NSDate Class Reference in Mac Dev CenterNSDate Class Reference in iPhone Dev Center

此外,文档说:

  

它可能会产生意想不到的结果,并且   强烈建议不要使用它

在课程参考的概述部分,您可以找到以下信息:

  

NSDate提供了几种方法   解释并创建字符串   日期表示(例如,   dateWithNaturalLanguageString:区域:   和descriptionWithLocale :)。在   一般来说,在Mac OS X v10.4及更高版本上   你应该使用一个实例   NSDateFormatter来解析和生成   字符串使用方法   dateFromString:和   stringFromDate:-see NSDateFormatter on   有关详细信息,请参阅Mac OS X 10.4。

鉴于这只是在Mac上正式提供,而不是在iPhone上,我不会在iPhone项目中使用它。即使在Mac上,Apple似乎也建议使用NSDateFormatter

答案 1 :(得分:0)

尝试使用NSDateFormatter:dateFromString。有example here