Ios11将日历从公历改为日本或佛教崩溃?

问题描述 投票:1回答:1
var datePickerView: UIDatePicker = UIDatePicker() 
override func viewDidLoad() {
super.viewDidLoad()
initializeBarButtons() }
func initializeBarButtons() {  
datePickerView.datePickerMode = UIDatePickerMode.date // This is the line that gets the error
datePickerView.addTarget(self, action: #selector(EmployeeDetailEditViewController.handleDatePicker), for: UIControlEvents.valueChanged) 
  }

当日历从公历更改为佛教时,此注释行导致崩溃。

崩溃:-

由于未捕获的异常'NSRangeException'而终止应用程序,原因:'*-[__ NSArrayM objectAtIndex:]:索引超出了9223372036854775807界线[0 .. 1]'*第一个引发调用堆栈:(0x18626e364 0x1854b4528 0x186206e9c 0x186136840 0x18f9a1890 0x1902238a8 0x19022045c 0x1902210f40x19022139c 0x190214254 0x1902136cc 0x190213c08 0x190213d240x1013881e0 0x101386d1c 0x101387018 0x18f768590 0x18f7683040x18f8d2bd4 0x18f7f5c4c 0x18f7f5890 0x18f7f5790 0x1a53e4c180x18f74cf00 0x18a2b1998 0x18a2b5b20 0x18a22236c 0x18a249b900x18a24a9d0 0x186215edc 0x186213894 0x186213e50 0x186133e580x187fe0f84 0x18f7b367c 0x10131b378 0x185c5056c)libc ++ abi.dylib:以NSException类型的未捕获异常终止

如何解决这个问题?

iphone swift datepicker calendar ios11
1个回答
0
投票

[很遗憾,您无法解决,因为上面有一个打开的雷达(https://openradar.appspot.com/41120005)。同时,使用@Amey解决方法:

if #available(iOS 11.0, *) { 
    let gregorianCalendar = Calendar(identifier: .gregorian) 
    self.datePickerView.calendar = gregorianCalendar 
} else { 
    // Fallback on earlier versions 
}
© www.soinside.com 2019 - 2024. All rights reserved.