我有一个自定义UIPickerView
,其中包含三个相互依赖的组件(即,第二个显示值取决于第一个中选择的内容,第三个取决于第一个和第二个)。我得到的值显示UIPickerView
在NSDictionary
.
一切都很好,除了当我同时旋转两个组件时,应用程序有时会崩溃(没有时间重新加载数据)。这就是我的pickerView:didSelectRow:inComponent
样子:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSLog(@"Selecting row %d component %d", row, component);
// When A is changed, we need to reload B and C
if (component == 0) {
[pickerView reloadComponent:1];
[pickerView selectRow:0 inComponent:1 animated:YES];
// need to reload the C after reloading B
[self pickerView:pickerView didSelectRow:0 inComponent:1];
}
else if (component == 1) {
[pickerView reloadComponent:2];
[pickerView selectRow:0 inComponent:2 animated:YES];
}
[self updateSelection];
}
有没有办法防止用户一次旋转多个选择器组件以防止崩溃?
谢谢!