在我的程序中,我创建了一个表视图,其中包含我自己的自定义表视图单元格,每个单元格都有分段控制对象。我希望能够遍历这些单元格(不是可见单元格,因为它们是在加载程序时创建的)并查看用户选择的分段控件的哪个选项。我想把这些数据放在一个数组中并用它来做。我怎么能做到这一点?
答案 0 :(得分:1)
这不是思考问题的方法。使用循环从单元格中读回是不可能的,因为在滚动UITableView时某些单元格会出列。
首先,您必须在开始时创建一个包含rowCount项目的数组,并使用默认的选定选项。
var options:Array<Int> = Array(count: rowCount, repeatedValue: 0)
然后在cellForRowAtIndexPath:
内部设置options
数组的分段控制值。您还可以将标记设置为indexPath.row以便稍后标识该行。
cell.segmentedControl.selectedSegmentIndex = options[indexPath.row]
cell.segmentedControl.tag = indexPath.row
然后在segmentedControl ValueChanged
事件中将options数组设置为分段控件中的选定值
func onValueChanged(sender : UISegmentedControl) {
options[sender.tag] = sender.selectedSegmentIndex
}