我正在尝试在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初始化程序吗?
答案 0 :(得分:2)
+dateWithNaturalLanguageString
似乎仅适用于Mac:NSDate Class Reference in Mac Dev Center与NSDate 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。