代码之家  ›  专栏  ›  技术社区  ›  rickharrison

iPhone上的nsdate初始值设定项问题

  •  0
  • rickharrison  · 技术社区  · 14 年前

    我正在尝试对iPhone上的日期进行一些基本操作。我想拿一根像“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 回复  |  直到 13 年前
        1
  •  2
  •   Thomas Müller    14 年前

    +dateWithNaturalLanguageString 似乎只在Mac上提供: NSDate Class Reference in Mac Dev Center VS NSDate Class Reference in iPhone Dev Center

    此外,文件还指出:

    可能会产生意想不到的结果,以及 强烈反对使用

    在类引用的概述部分,可以找到以下信息:

    nsdate提供了几种方法 解释和创建字符串 日期表示(例如, dateWithNaturalLanguageString:区域设置: 和地区描述:)。在 常规,在Mac OS X v10.4及更高版本上 您应该使用的实例 要分析和生成的nsdateFormatter 使用方法的字符串 日期来自字符串:和 StringFromDate:_ Mac OS X 10.4了解更多详细信息。

    考虑到这只能在Mac上正式使用,而不能在iPhone上使用,我不会在iPhone项目中使用它。即使在Mac上,苹果似乎也建议使用 NSDateFormatter 相反。

        2
  •  0
  •   Community arnoo    7 年前

    尝试使用nsdateformater:datefromstring。有一个 example here .