Почему документированный метод инициализации NSDateFormatter не распознается? - PullRequest
1 голос
/ 08 февраля 2010

Я получаю это предупреждение (ниже) при попытке использовать 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]);

Ответы [ 3 ]

5 голосов
/ 08 февраля 2010

Как говорит Георг, initWithDateFormat: allowNaturalLanguage разрешен только в Mac OS X, а не на iPhone.

Вы можете использовать NSDateFormatter на iPhone следующим образом:

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

Дополнительная литература:

2 голосов
/ 08 февраля 2010

iPhone SDK не имеет этого метода инициализации, он есть только в Mac OS X SDK. Вы должны использовать обычный [[.. alloc] init] и установить свойства самостоятельно.

0 голосов
/ 09 февраля 2010

Извините, я думаю, что это должно быть ...

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