iOS 6中的UIPickerView selectrow崩溃

时间:2012-11-24 03:58:46

标签: ios ios6 uipickerview upgrade

我的应用程序构建&完全在iOS 5.x中运行,但在iOS 6中调用selectRow:inComponent:animated: UIPickerView方法时崩溃了。

代码:

[_pickerview selectRow:1 inComponent:0 animated:NO];

我知道这个方法在我用Google搜索时在iOS6中不起作用,但我想知道其他方法来做这个效果吗?

3 个答案:

答案 0 :(得分:7)

您的崩溃日志表明您在代码中使用了-1,其中应该是{0,1}范围内的数字。但是在您粘贴的代码中,确实使用了1。因此,您需要检查xxxyyy

的参数
[_pickerview selectRow:xxx inComponent:yyy animated:NO];

答案 1 :(得分:1)

以上答案是正确的,但是如果数组的值与选择器值不同,则会出现此错误。

这是我的代码 我以这种方式初始化: amPmArray = [[NSMutableArray alloc] initWithObjects:@"AM",@"PM", nil];

我在选择器中设置了值:[picker selectRow:[amPmArray indexOfObject:currentTimeAMPMString] inComponent:5 animated:NO];

我总是在currentTimeAMPMString中获得小写值,例如&am; am,pm',而我的数组确实包含这种类型的项目,这就是我遇到崩溃错误的原因。

答案 2 :(得分:0)

经过3天的发现,我发现你是否正在使用选择器与textField相关联。 Plz无需为textField分配任何文本。 使用下面文本的原因意味着分配的测试应该存在于数组中。

[self-> pickerView selectRow:[self-> dataArray indexOfObject:self-> textField.text] inComponent:0 animated:NO];

使用这个。

[self-> pickerView selectRow:[self-> dataArray objectAtIndex:row] inComponent:0 animated:NO];