如何将选定的UIPicker行与先前input的数据同步

我有一个Picker,作为UITextField的inputView来代替键盘。 用户拨打他们的select,保存,然后解散视图。 当你回到这个视图,并拨打一个新的select,select器与保存的数据不同步。

select器使用数组的string作为数据源。

所以,例如看下面的图片,你可以看到,select器是在它的第一个位置是空的。 但我想要的是select器拨入RE2或其他选项保存在textField中的哪一个。

我如何同步这两个?

在这里输入图像说明

我想到了。 我遍历picker的dataSource数组来find匹配的string,然后在picker上使用selectRow:inComponent:animated来同步它。 这是代码。 我在textField委托方法中触发它。

- (void)textFieldDidBeginEditing:(UITextField *)textField{ UIBarButtonItem *saveButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save)]; self.navigationItem.rightBarButtonItem = saveButtonItem; [saveButtonItem release]; //Sync The Picker for(NSInteger i = 0; i < [pickerData count]; i++){ NSString *string = [pickerData objectAtIndex:i]; if([string isEqualToString:profileField.text]){ pickerRow = i; break; //Once we have it break out of the loop } } [myPicker selectRow:pickerRow inComponent:0 animated:NO]; }