gpt4 book ai didi

ios - UIDatePicker NSRangeException 崩溃 iOS 11

转载 作者:可可西里 更新时间:2023-11-01 05:00:34 24 4
gpt4 key购买 nike

我有以下代码将 DatePicker 添加到我的 UIView 之一。

UIDatePicker *datePicker =
[[UIDatePicker alloc] initWithFrame:CGRectMake(0, 30, 320, 250)];
[datePicker setDatePickerMode:UIDatePickerModeDate];
datePicker.hidden = NO;
datePicker.date = [NSDate date];
[datePicker addTarget:self
action:@selector(changeDateInLabel:)
forControlEvents:UIControlEventValueChanged];
[self.dateView addSubview:datePicker];

这段代码已经存在了一段时间,但我们现在注意到一些随机崩溃。崩溃只发生在 iOS 11 中。这是崩溃的堆栈跟踪的样子

Fatal Exception: NSRangeException
*** -[__NSArrayM objectAtIndex:]: index 9223372036854775807 beyond bounds [0 .. 1]
Fatal Exception: NSRangeException
0 CoreFoundation 0x180d87d38 __exceptionPreprocess
1 libobjc.A.dylib 0x18029c528 objc_exception_throw
2 CoreFoundation 0x180d20c44 _CFArgv
3 CoreFoundation 0x180c50cc0 -[__NSArrayM removeObjectAtIndex:]
4 UIKit 0x18a3ecaa8 -[UIPickerView selectedRowInComponent:]
5 UIKit 0x18ac52224 -[_UIDatePickerMode_Date _dateForYearRow:]
6 UIKit 0x18ac4edd8 -[_UIDatePickerMode dateForRow:inCalendarUnit:]
7 UIKit 0x18ac4fa70 -[_UIDatePickerMode _updateSelectedDateComponentsWithNewValueInComponent:usingSelectionBarValue:]
8 UIKit 0x18ac4fd18 -[_UIDatePickerMode selectedDateComponents]
9 UIKit 0x18ac43370 -[_UIDatePickerView _updatedLastSelectedComponentsByValidatingSelectedDateWithLastManipulatedComponent:]
10 UIKit 0x18ac427e8 -[_UIDatePickerView _setDate:animated:forced:]
11 UIKit 0x18ac42d24 -[_UIDatePickerView _setMode:]
12 UIKit 0x18ac42e40 -[_UIDatePickerView setDatePickerMode:]

关于导致此崩溃的原因的任何指示?谢谢

最佳答案

遵循此代码。它对您有帮助。

UIDatePicker *datePicker=[[UIDatePicker alloc]init];
datePicker.datePickerMode=UIDatePickerModeDate;
[self.dateSelectionTextField setInputView:datePicker];
UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
[toolBar setTintColor:[UIColor grayColor]];
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(ShowSelectedDate)];
UIBarButtonItem *space=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolBar setItems:[NSArray arrayWithObjects:space,doneBtn, nil]];
[self.dateSelectionTextField setInputAccessoryView:toolBar];.

-(void)ShowSelectedDate
{ NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"dd/MMM/YYYY hh:min a"];
self.dateSelectionTextField.text=[NSString stringWithFormat:@"%@",[formatter stringFromDate:datePicker.date]];
[self.dateSelectionTextField resignFirstResponder];
}

关于ios - UIDatePicker NSRangeException 崩溃 iOS 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46964869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com