我需要在标签的多组件选择器视图中显示最近选择的值
- 我有一个包含三个组件的 pickerView,由三个 NSMutableArrays(rowOneItems、rowTwoItems、rowThreeItems)填充。
- 我还有一个 NSLog 语句,它正确地显示了用户最后从更改的组件中选择的内容。
- 但是,我无法弄清楚如何正确显示标签中最近选择的值。
目前,标签从第一个选择器中获取值并显示它,但不会正确更新第二个和第三个值。相反,它选择与它在同一位置的值。例如,如果所有三个数组都有鸟、狗和猫的值,当我在选择器视图中选择“狗”时,标签将显示三个“狗”值。
我想要做的是将用户在选择器视图中选择的值显示到标签中。
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component {
//log which row is selected in each component
//this shows the values correctly in output
if(component ==1) {
return NSLog(@"Selected Difficulty: %@",[rowTwoItems objectAtIndex:row]);
}
else if(component ==2) {
return NSLog(@"Selected Duration: %@",[rowThreeItems objectAtIndex:row]);
}
else{
NSLog(@"Selected Type: %@",[rowOneItems objectAtIndex:row]);
}
//define chosen items
//stuck here. tried using a if else statement as above, but of course that would only return the first value in the label
NSString *chosenType = [rowOneItems objectAtIndex:row];
NSString *chosenDifficulty = [rowTwoItems objectAtIndex:row];
NSString *chosenDuration = [rowThreeItems objectAtIndex:row];
[workoutResults setText:[NSString stringWithFormat:@"%@, %@, %@", chosenType, chosenDifficulty, chosenDuration]];
}
刚开始学习obj-c,所以如果这是一个新手问题,我很抱歉。感谢您能给我的任何指导。