Я недавно добавил в свое медицинское приложение функцию, которая вычисляет возраст пациента по введенной дате.Если возраст равен нулю, то средство выбора даты отображает 1 января 1950 г. в качестве начальной даты по умолчанию для ввода даты рождения.Код отлично работает на iOS 4.0+ на устройствах iPhone и iPad.Однако при тестировании непосредственно перед отправкой обновления приложения я обнаружил, что на моем iPod первого поколения происходит сбой средства выбора даты, которое я сохраняю для тестирования iOS 3.1.3.В качестве виновника я сузил следующий код, который устанавливает дату по умолчанию для средства выбора даты:
if (age == 0) {
NSDateFormatter *myFormatter = [[NSDateFormatter alloc] init];
[myFormatter setDateFormat:@"M/d/yy"];
NSDate *initialDate = [myFormatter dateFromString:@"January/01/1950"];
[picker setDate:initialDate animated:YES];
}
В журнале iPod отображаются следующие две строки после сбоя:
<Warning>: *** Assertion failure in -[UIDatePickerView _updateBitsForDate:andReload:animateIfNeeded:], /SourceCache/UIKit/UIKit-984.38/UIDatePicker.m:908
и
<Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
Буду признателен за любую помощь в понимании, почему этот сбой происходит только на старом устройстве, и как решить эту проблему.Заранее спасибо.