【问题标题】:Can't get the textfield text in tableview custom cell无法在 tableview 自定义单元格中获取文本字段文本
【发布时间】:2018-07-07 13:14:09
【问题描述】:

我是 iOS 新手,我正在尝试构建一个应用程序。在应用程序中,我编写了一个表格视图,该表格具有包含图像和文本字段的自定义单元格。用户在文本字段中输入名称(如玩家名称),然后我需要将这些名称传递给另一个视图控制器。我想得到这些名字,但我做不到。谁能帮我解决这个问题? 这是我的代码:

在tableview控制器类中:

var playerCount : Int = 0
var playerNumber = 0
var tempPlayers: [Player] = []

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return Int(playerCount)
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cellForPlayer", for: indexPath) as! PlayerInformationCellTableViewCell

    cell.txtPlayerName.placeholder = "Oyuncu \(playerNumber + 1)"
    playerNumber = playerNumber + 1
    cell.textFieldDidEndEditing(cell.txtPlayerName)
    tempPlayers.append(cell.tmpPlyer)
    return cell
}

自定义单元格类:

var playerNames: [Player] = []
var tmpPlyer = Player(name:"",point: 0)

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    txtPlayerName.delegate = self
    usrImgView.image = #imageLiteral(resourceName: "avatar")
    txtPlayerName.backgroundColor = UIColor.flatWhite
    txtPlayerName.layer.cornerRadius = 5
    txtPlayerName.textAlignment = .center
}

func textFieldDidEndEditing(_ textField: UITextField) {
    if(txtPlayerName.text != nil ){
       // var tempPlayer = Player(name: txtPlayerName.text!,point: 0)
        //playerNames.append(tempPlayer)
        tmpPlyer = Player(name: txtPlayerName.text!,point: 0)
    }
}

我正在尝试使用 didEndEditing 方法获取文本,但我愿意接受建议。

【问题讨论】:

  • 您可以使用委托模式让单元格将文本传递回视图控制器,在那里它可以更新其数据模型。像这样stackoverflow.com/questions/28659845/…
  • 我无法按照此说明进行操作 :( 很遗憾我是 IOS 新手,但我会非常感谢@Paulw11 :) 祝您有美好的一天
  • 是 textFieldDidEndEditing 这个函数调用吗?如果不需要,你需要给委托方法。
  • @HardikThakkar 感谢您的帮助,但我通过使用委托和协议解决了这个问题

标签: ios swift uitableview custom-cell


【解决方案1】:

您需要使用协议和委托模式。在此模式中,您将数据从 tableviewcell 传递回视图控制器。

看看这个教程

https://medium.com/@aapierce0/swift-using-protocols-to-add-custom-behavior-to-a-uitableviewcell-2c1f09610aa1

【讨论】:

  • 非常感谢我在本文的大力帮助下解决了这个问题。无论如何我有疑问,但我在这个环境中是新手之前告诉过我。感谢大家的建议,祝大家有个愉快的一天!
猜你喜欢
  • 1970-01-01
  • 2012-07-24
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-23
  • 1970-01-01
相关资源
最近更新 更多