无法从表视图中的所有自定义单元格中收集数据

时间:2015-01-09 23:36:26

标签: ios uitableview swift ios8 uisegmentedcontrol

在我的程序中,我创建了一个表视图,其中包含我自己的自定义表视图单元格,每个单元格都有分段控制对象。我希望能够遍历这些单元格(不是可见单元格,因为它们是在加载程序时创建的)并查看用户选择的分段控件的哪个选项。我想把这些数据放在一个数组中并用它来做。我怎么能做到这一点?

1 个答案:

答案 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
}