TableView
中有一个ViewController
。TableViewCell
有一个带有一些内容的textView。现在点击了replyButton
中的cell
,segue
到secondViewController
。我需要将内容放在textView
的{{1}}中。怎么做?我使用cell
作为下面的代码,但由于indexPath
为indexPath
而崩溃了。谢谢你的帮助。
澄清:我需要单击单元格内的replyButton来实现目标,而不是使用didSelectRowAtIndexPath函数。
代码:
nil
答案 0 :(得分:0)
您尝试获取文本值的方式没有太大问题,您只是在错误的函数内执行此操作。 UITableView有一个函数didSelectRowAt:indexPath
,它可以工作。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! Replycell
replyVC.replyQuote = cell.replyTextView.text
}
答案 1 :(得分:0)
你需要使用一个协议,在Replycell.swift中在类
之前添加它protocol ReplycellDelegate: class {
func didPressButtonFromCell(cellView: Replycell, id: int)}
在课堂内添加此
weak var delegate: ReplycellDelegate?
在单元格中的按钮操作内添加此
delegate?.didPressButtonFromCell(cellView: self, id: 2)
现在在uitableviewdatasource之后的类ViewController中添加RepplyCellDelegate,然后你只需调用函数didPressButtonFromCell
并且Xcode将自动为你完成它,当按下单元格的按钮时将调用该函数,如果你有视图控制器中的单元格的内容添加一个id变量到Repplycell类,所以你可以在创建时将它传递给每个单元格,如果你得到Replycell类中的文本,而不是协议中的id,声明一个string并将其发送到ViewController。