Для iPhone OS 4.0 “dateFromString” метод NSDateFormatter возвращает ноль

Я использую следующий код и его работу, превосходную в iPhone OS 3.2

+(NSDate *)NSDateFromString:(NSString *)dateString
{

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateStyle:NSDateFormatterShortStyle];
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *dateObj=[dateFormatter dateFromString:dateString];
    [dateFormatter release], dateFormatter=nil;
    return dateObj;
}

Но когда я пытался использовать тот же код I iPhone OS 4.0, dateObj был нолем.

Причина:

- (id)init метод для NSDateFormatter только Доступен в iPhone OS 2.0 через iPhone OS 3.2. Это удерживается от использования в iPhone OS 4.0.

Теперь, каково решение для этого? Как к init NSDateFormater? Какова альтернатива?

8
задан kennytm 9 July 2010 в 12:08
поделиться

2 ответа

[NSDateFormatter dateFormatFromTemplate: options: locale:] может работать лучше

NSString *format = [NSDateFormatter
                   dateFormatFromTemplate:@"Mdjm"
                                  options:0
                                   locale:[NSLocale currentLocale]];

// «M / dh: mm a» // формат американского английского языка возвращен для локали США

[dateFormatter setDateFormat:format];
NSDate *date = [dateFormatter dateFromString:dateString];
2
ответ дан 5 December 2019 в 22:16
поделиться

- (id) init не является устаревшим для NSDateFormatter в iOS4. Это ошибка в документации.

2
ответ дан 5 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: