I have been trying to know what's wrong with the code as I am getting random crashes on iOS 11:
Fatal Exception: NSRangeException *** -[__NSArrayM objectAtIndex:]: index 9223372036854775807 beyond bounds [0 .. 1]
Here's my code for setting up a datepicker:
func setUpPickerView() {
let datePickerView = UIDatePicker()
if let yearDate10 = NSCalendar.current.date(byAdding: .year, value: -10, to: Date()) {
datePickerView.maximumDate = yearDate10
}
if let yearDate20 = NSCalendar.current.date(byAdding: .year, value: -20, to: Date()) {
datePickerView.date = yearDate20
}
if dobTextField != nil {
dobTextField.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
datePickerView.datePickerMode = .date
}
}
Crash Logs:
0 CoreFoundation 0x186bc1d04 __exceptionPreprocess 1 libobjc.A.dylib 0x185e10528 objc_exception_throw 2 CoreFoundation 0x186b5abd4 _CFArgv 3 CoreFoundation 0x186a8a9a0 -[__NSArrayM removeObjectAtIndex:] 4 UIKit 0x19024d2c4 -[UIPickerView selectedRowInComponent:] 5 UIKit 0x190ac3f24 -[_UIDatePickerMode_Date _dateForYearRow:] 6 UIKit 0x190ac0ad8 -[_UIDatePickerMode dateForRow:inCalendarUnit:] 7 UIKit 0x190ac1770 -[_UIDatePickerMode _updateSelectedDateComponentsWithNewValueInComponent:usingSelectionBarValue:] 8 UIKit 0x190ac1a18 -[_UIDatePickerMode selectedDateComponents] 9 UIKit 0x190ac408c -[_UIDatePickerMode_Date _shouldEnableValueForRow:inComponent:calendarUnit:] 10 UIKit 0x190ac2c3c -[_UIDatePickerMode _shouldEnableValueForRow:column:] 11 UIKit 0x190ac2788 -[_UIDatePickerMode viewForRow:inComponent:reusingView:] 12 UIKit 0x190ab6380 -[_UIDatePickerView pickerView:viewForRow:forComponent:reusingView:] 13 UIKit 0x19024d9ec -[UIPickerView tableView:cellForRowAtIndexPath:] 14 UIKit 0x190aa65d4 -[UIPickerColumnView tableView:cellForRowAtIndexPath:] 15 UIKit 0x19033393c -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] 16 UIKit 0x190333ea0 -[UITableView _createPreparedCellForGlobalRow:willDisplay:] 17 UIKit 0x1903139e4 -[UITableView _updateVisibleCellsNow:isRecursive:] 18 UIKit 0x19031df88 -[UITableView _cellForRowAtIndexPath:usingPresentationValues:] 19 UIKit 0x1901117a4 -[UITableView cellForRowAtIndexPath:] 20 UIKit 0x1908e6c80 __61-[UIPickerTableView selectRow:animated:notify:updateChecked:]_block_invoke 21 Foundation 0x187565b70 __NSIndexSetEnumerate 22 UIKit 0x1908e691c -[UIPickerTableView selectRow:animated:notify:updateChecked:] 23 UIKit 0x19024d618 -[UIPickerView _selectRow:inComponent:animated:notify:] 24 UIKit 0x190ab49e4 -[_UIDatePickerView _selectRow:inComponent:animated:notify:] 25 UIKit 0x190ac13f4 -[_UIDatePickerMode loadDate:animated:] 26 UIKit 0x190ab4998 -[_UIDatePickerView _loadDate:animated:] 27 UIKit 0x190ab4020 -[_UIDatePickerView _setDate:animated:forced:] 28 UIKit 0x190ab4578 -[_UIDatePickerView _setMode:] 29 UIKit 0x190ab4694 -[_UIDatePickerView setDatePickerMode:]