ios - 从自定义 tableView 单元格文本字段中获取数据

标签 ios swift uitableview uitextfield

我有一个 tableView,tableView 内的自定义表格 View 单元格,以及自定义表格 View 单元格内的一些文本字段。

我根据表格 View 单元格中的文本字段中的信息更新了一个类。

我能够使用 didDeselectRowAt 函数成功获取单元格文本字段中的数据以更新我的类,但是,这不是正确的实现,因为它需要用户单击并取消选择文本所在的单元格字段在里面,如果在编辑文本字段后更新类会更好。我搜索了 tableViews 的类似功能,但没有找到有效的。

在我的 CustomTableViewCell 类中,我还能够创建一个在编辑文本字段结束时执行的函数,但这是在另一个类中,我不确定如何从该函数填充我的播放器类。

这是 ViewController 中的代码:

public func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    let cell = tableView.cellForRow(at: indexPath) as! CustomTableViewCell

    for item in players {
        if item.uniqueRowID == indexPath.row {
            item.name = cell.textboxName.text!
        }
    }
}

我想做类似的事情,用自定义表格 View 单元格内的文本字段中的数据填充我的“玩家”类,但我希望它在每个文本字段和这段代码中完成编辑时发生在 customTableViewCell 类中不起作用。

帮助将不胜感激!

最佳答案

如何使用传递给单元格的模型对象?在单元内,可以在用户交互时进行任何更新。对象的编辑触发器保存在单元格中,可以立即生效。

这是一个人为的例子。

final class UIViewController: UITableViewDataSource {

  var players: [Player] = [] // Players set by something in the view controller.

  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    guard let cell = tableView.cellForRow(at: indexPath) as? CustomTableViewCell else { fatalError() }

    cell.player = players[indexPath.row]

    return cell
  }
}

在单元格本身中:

final CustomTableViewCell: UITableViewCell, UITextFieldDelegate {

  var player: Player!

  weak var textField: UITextField!

  func textFieldDidEndEditing(_ textField: UITextField) {

    player.name = textField.text
  }
}

在此基础上,您可以选择使用 ViewModel 进一步抽象关系。

关于ios - 从自定义 tableView 单元格文本字段中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752220/

相关文章:

java - 为 iOS 应用程序测试自动化设置 appium

ios - 使用 NSFetchedResultsController 在底部 UITableView 中加载更多内容

ios - 从服务器获取数据时如何使用typealias

ios - 使用自动布局的自定义 View 的动态高度

ios - 架构armv7的 undefined symbol :homeViewController1

iphone - 视频修剪失败并阻止 AVAssetExportSessionStatus.Failed

ios - 带有 archiveRootObject 的 URLByAppendingPathComponent 不能正常工作?

objective-c - 从 Xib 设置 UISearchBar 不显示 iOS 5 上的搜索栏

ios - 使用自动布局约束动态调整表格 View 单元格的大小

objective-c - 如何将自定义单元格添加到 UITableView 的底部?