2011-01-20 2 views
0

У меня проблема с ios 4.2.1 и uidatepicker. Мое приложение работает на iPad, а сборщик находится внутри UIPopoverController. На iOS 3.2 приложение работает нормально. Когда я прясть любое колесо подборщика, приложение аварии с этим трассировки стека:Ошибка UIDatePicker на iOS 4.2.1

* Нагрузочный приложение из-за неперехваченного исключением «NSRangeException», причина: " - [NSMutableArray objectAtIndex]: индекс 2147483647 вне границ [0 .. 2] * * стек вызовов на первый бросок: ( 0 CoreFoundation 0x01165be9 exceptionPreprocess + 185 1 libobjc.A.dylib 0x012ba5c2 objc_exception_throw + 47 2 CoreFoundation 0x0115b6e5 - [__ NSArrayM objectAtIndex:] + 261 3 UIKit 0x002e9b74 - [UIPickerView reloadComponen т:] + 62 4 UIKit 0x004cb6a9 - [UIDatePickerView _updateDateOrTime] + 1273 5 UIKit 0x004cb114 - [UIDatePickerView pickerView: didSelectRow: inComponent:] + 42 6 UIKit 0x002e9194 - [UIPickerView _sendSelectionChangedForComponent:] + 100 7 UIKit 0x002e8f75 - [ UIPickerView scrollerDidEndSmoothScrolling:] + 75 8 UIKit 0x004924c7 - [UIScroller (внутренний) _stopScrollingNotify: dealloc: контактный:] + 692 9 UIKit 0x00493ed0 - [UIScroller (Статический) _smoothScroll:] + 4743 10 UIKit 0x0048a188 ScrollerHeartbeatCallback + 129 11 GraphicsServices 0x01a9d447 HeartbeatTimerCallback + 35 12 CoreFoundation 0x01146fe3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 19 13 CoreFoundation 0x01148594 __CFRunLoopDoTimer + 1220 14 CoreFoundation 0x010a4cc9 __CFRunLoopRun + 1817 15 CoreFoundation 0x010a4240 CFRunLoopRunSpecific + 208 16 CoreFoundation 0x010a4161 CFRunLoopRunInMode + 97 17 GraphicsServices 0x01a9a268 GSEventRunModal + 217 18 GraphicsServices 0x01a9a32d GSEventRun + 115 19 UIKit 0x0030242e UIApplicationMain + 1160 20 Повестка дня 0x0000245c main + 102 21 Повестка дня 0x000023ed start + 53 )) завершение вызова после вызова экземпляра 'NSException' Полученный сигнал программы: «SIGABRT».

Любые идеи?

+0

Решенный! Проблема заключалась в максимальной дате. Я установил timeComponent без указания года, поэтому дата по умолчанию была 01-01-0001, что приводит к сбою. Установка года на 2010 год решает проблему! – Chiodo

ответ

1

Проблема заключается в вашем диапазоне массивов.

+1

да ... но у меня нет объявленного массива :) @interface HoursController: InfoViewController { \t UIDatePicker * picker; } @property (nonatomic, сохранить) IBOutlet UIDatePicker * picker; @end – Chiodo

+0

Я отлаживаю код, и я вижу, что установка даты максимизации вызывает сбой при повороте колеса. hoursController.picker.maximumDate = [[NSCalendar currentCalendar] dateFromComponents: timeComp]; PS: Прошу прощения за мой плохой английский :) – Chiodo

Смежные вопросы