У меня есть метод преобразования строки в определенном формате в NSDate
, но иногда он возвращает ноль.
- (NSDate *)dateFromString:(NSString *)dateAndTime
{
NSDate *date;
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"MM/dd/yyyy hh:mm a"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[formatter setTimeZone:gmt];
date = [formatter dateFromString:dateAndTime];
return date;
}
Это работает большую часть времени, насколько я могу судить, но есть процент времени, когда это не удается.
Я некоторое время отслеживал эту ошибку, поэтому есть некоторый код, который приводит к сбою приложения, когда это происходит. Отчеты о сбоях сообщают мне значения, из-за которых метод возвращал nil.
Например, я получил отчет о сбое, в котором говорилось, что «14.04.2015, 19:35» вернул ноль.
Когда я жестко задаю одно и то же значение для каждой даты, оно работает при запуске приложения в режиме отладки с моего компьютера.
Что здесь может происходить? Я не покрываю некоторые случаи для NSDate
s? Почему это не происходит на каждом устройстве?