1

我在尝试使用 NSDateFormatter 时收到此警告(如下)。我正在导入我的 .h 文件,那么问题是什么?(哦,同样的方法会产生错误(发送了无法识别的选择器......))

这是警告:

warning: no '-initWithDateFormat:allowNaturalLanguage:' method found

这是代码:

NSDateFormatter *myFormatter = [[NSDateFormatter alloc] initWithDateFormat:@"EEE, dd, MMM yyyy HH:mm:ss ZZZ" allowNaturalLanguage:NO];

NSDate *date = [myFormatter dateFromString:@"Mon, 01 Feb 2010 20:25:37 +0000"];
NSLog(@"Time interval %d",[date timeIntervalSinceNow]);
4

3 回答 3

5

就像 Georg 所说,initWithDateFormat:allowNaturalLanguage 只允许在 Mac OS X 上使用,而不在 iPhone 上使用。

您可以像这样在 iPhone 上使用 NSDateFormatter:

NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
formatter.dateFormat = @"yyyy-d-M";

进一步阅读:

于 2010-02-08T06:44:38.880 回答
2

iPhone SDK没有这个init 方法,只有Mac OS X SDK 有。您必须使用普通的[[..alloc] init]并自己设置属性。

于 2010-02-08T06:43:13.517 回答
0

对不起,我觉得应该...

NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];    
[formatter setDateFormat:@"yyyy-d-M"];
于 2010-02-09T09:53:45.040 回答