我有三种自定义单元格类型 - 一个带有文本字段的单元格,另一个带有日期字段,另一个带有选择器字段。
我在这里捕捉数据变化:
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中设置了云数据。
如何正确更新这些字段
提前致谢
答案 0 :(得分:2)
正如Subin K Kuriakose在评论中所说,你应该使用tag
的{{1}}属性来确定它是哪个文本字段。
创建文本字段单元格时需要设置UITextField
属性。只需在某处保留一个变量,并在每次创建文本字段时将其递增,并将tag
设置为此变量:
tag
这样的事情,你明白了。
现在,表格视图中的每个文本字段都有一个唯一标记。在textFieldCount += 1
myCustomCell.textField.tag = textFieldCount
中,检查标记:
textFieldDidEndEditing
这很简单!