Swift - 如何识别哪些自定义tableview单元格已被修改?

时间:2016-06-26 08:50:59

标签: ios swift uitableview

我有三种自定义单元格类型 - 一个带有文本字段的单元格,另一个带有日期字段,另一个带有选择器字段。

我在这里捕捉数据变化:

 func textFieldDidEndEditing(_ textField: UITextField) {
        print("TextField did end editing method called")

        switch segmentedControl.selectedSegmentIndex {
        case 0:
            currentItem.setObject(itemName, forKey: "itemName")
            .....
            currentItem.setObject(serialNumber, forKey: "serialNumber")

            break

        case 1:
            currentItem.setObject(username, forKey: "username")

            currentItem.setObject(email, forKey: "email")
      ...
            break

“currentItem”是CKRecord。

这是错误的。字段(itemName,serialNumber等)是字符串。它们在ViewDidLoad中设置了云数据。

如何正确更新这些字段

提前致谢

1 个答案:

答案 0 :(得分:2)

正如Subin K Kuriakose在评论中所说,你应该使用tag的{​​{1}}属性来确定它是哪个文本字段。

创建文本字段单元格时需要设置UITextField属性。只需在某处保留一个变量,并在每次创建文本字段时将其递增,并将tag设置为此变量:

tag

这样的事情,你明白了。

现在,表格视图中的每个文本字段都有一个唯一标记。在textFieldCount += 1 myCustomCell.textField.tag = textFieldCount 中,检查标记:

textFieldDidEndEditing

这很简单!