0

我的应用程序中有一个表单,其中 datepicker 作为一个文本字段的输入视图。

代码在模拟器中正确执行,但在设备中它崩溃并显示以下错误消息

“未能为第 0 节中的 854269899 行分配数据存储。考虑使用更少的行”

我的选择器代码如下

 if(self.fromTxtField == textField||self.toTxtField==textField)
{
    textField.inputAccessoryView = self.keyboardToolbar;
    self. datePicker  = [[UIDatePicker alloc] init];
    self. datePicker .datePickerMode = UIDatePickerModeDateAndTime;
    [self. datePicker  addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
    textField.inputView =self. datePicker ;
}
4

2 回答 2

0

尝试这个

在选取器视图之前。

[self.fromTxtField resignFirstResponder];
[self.ToTxtField resignFirstResponder];

you must also Log the message where you set the title for the pickerView.

于 2013-03-12T06:39:45.393 回答
0

就我而言,问题来自方法func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int)

考虑减少返回的行数。试试这个开始:

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return 1000
}

并在需要时增加限制

于 2018-11-15T12:31:15.013 回答