Значение NULL из NSDateFormatter из XML - PullRequest
0 голосов
/ 16 июля 2010

До компиляции с iOS4.0 все работало нормально, и я не могу понять, в чем дело.

Вот в чем проблема.Я отправляю оценки моего приложения из своей базы данных с указанием даты / времени.Моя цель - сохранить это в CoreData.Когда я использую код ниже, я получаю нулевое значение для даты.

Код:

     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"US"];
        [dateFormatter setLocale:locale];
        [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss ZZZ"];
        currentDownloadedScore.dateEntered = [dateFormatter dateFromString:self.currentValue];
        NSLog(@"Date CV: %@",self.currentValue);
        NSLog(@"Date: %@",[currentDownloadedScore.dateEntered description]);
        [locale release];
        [dateFormatter release];

Вот результат в отладчике:

2010-07-16 08:15:35.741 MyApp[75003:207] Date CV: 07/16/2010 04:21:00 +00:00
2010-07-16 08:15:35.742 MyApp[75003:207] Date: (null)
2010-07-16 08:15:35.745 MyApp[75003:207] Date CV: 07/16/2010 01:09:26 +00:00
2010-07-16 08:15:35.749 MyApp[75003:207] Date: (null)

Любая помощьценится!Спасибо.

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Я нашел проблему. Кажется, что ZZZ часть форматирования НЕТ ДЛИННОГО принимает двоеточие : во времени.

Работы: 07/16/2010 04:21:00 +0000

Не работает: 07/16/2010 04:21:00 +00:00

Для поддержки текущих приложений, которые я выпустил, все, что я делал, это искал часть +00:00 в строке и заменил ее на +0000. TADA! Это работает!

0 голосов
/ 17 июля 2010

У меня была такая же проблема.Для меня проблема заключалась в том, что у меня был разрыв строки в моем XML-канале для даты, поэтому этот код исправил это для меня:

[currentDate replaceOccurrencesOfString:@"\n" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0,[currentDate length])];

0 голосов
/ 16 июля 2010

NSDateFormatter стал очень требовательным в iOS4. Этот другой вопрос SO имел ту же проблему и имеет несколько разных решений.

...