我有UITableView
并且每个单元格内都有一个选择器视图。用户可以单独更改每个选择器的值。
我需要知道哪个单元格的 pickerView 已更改。例如,当用户移动选择器时,我会知道,这是单元格 3。
有没有办法做到这一点?没有必要获得即时更改的值。我们可以将它存储在数组中,而不是在单击与 tableview 无关的 Go 按钮时发送。
我有UITableView
并且每个单元格内都有一个选择器视图。用户可以单独更改每个选择器的值。
我需要知道哪个单元格的 pickerView 已更改。例如,当用户移动选择器时,我会知道,这是单元格 3。
有没有办法做到这一点?没有必要获得即时更改的值。我们可以将它存储在数组中,而不是在单击与 tableview 无关的 Go 按钮时发送。
我建议存储指向您的选择器视图的指针数组。因此,数组的索引 0 将指向表第 0 行的选择器视图,等等。然后,确保您的视图控制器是所有选择器视图的代表。实现协议pickerView:didSelectRow:inComponent:
声明的方法。UIPickerViewDelegate
该方法有一个UIPickerView
as 参数的实例:这是值被更改的那个。要获取该选择器视图的行,您可以向数组发送该indexOfObject:
方法。
创建 a 的子类UITableViewCell
。该子类应该获得对您想要更新的任何内容的引用,然后它可以简单地创建(或 IBOutlet 链接)到选取器并成为选取器的代表。
所以细胞应该有:
- (void) passStuff:(NSMutableDictionary *)datamodel key:(NSString *)key values:(NSArray *)values {
_privateWeakRefDataModel = datamodel;
_privateCopyKey = key;
_privateValues = values;
[picker reloadData];
}
#pragma mark - Picker Delegate Code here
这样,单元格将直接处理更新您的数据模型。让你的代码更干净。