我有一个UITableView与几个单元格。每个单元格都有一个 标签和一个UITextField。当我加载ViewController时,UITextFields有初始值,用户可以编辑这些值。现在我想添加一个保存按钮来保存更改,但是我编辑后在获取UITextFields中的值时遇到问题。我认为我需要为文本框使用标签,但我不知道如何。这里是我的代码:如何获取UITableView中可编辑单元格的值? Swift
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:EditProfileCell = tableView.dequeueReusableCellWithIdentifier("profile") as! EditProfileCell
if (indexPath.row == 1){
cell.setRow("label", value: "initial value")
cell.itemValue.tag = indexPath.row
}
@IBAction func saveTapped(sender: UIButton) {
print(self.tableView(profileTableView, cellForRowAtIndexPath: NSIndexPath(forRow: 1, inSection: 1)).viewWithTag(1))
}
当保存按钮被窃听,它打印的初始值,而不是编辑后的值。编辑后我需要获取帮助。
EDIT1:
我发现我可以在didSelectRowAtIndexPath方法功能编辑的值。但问题是当我点击文本字段(文本字段进入编辑模式)时,didSelectRowAtIndexPath不会被调用,直到我点击单元格内的空间但在文本字段之外。所以我的问题变成了当我只点击文本框时如何触发didSelectRowAtIndexPath。
对类和is-a vs has-a的理解应该对你有很大的帮助。 –
http://stackoverflow.com/questions/14562551/how-to-get-the-cell-value-of-a-selected-cell-from-table-view-in-iphone –