【发布时间】:2018-01-02 08:15:21
【问题描述】:
我有一个带有按钮的视图控制器,当单击该按钮时,它会转到带有表格视图的第二个视图控制器。这两个场景通过情节提要联系起来,就像现在的模态一样。我希望在第二个视图控制器的表格视图中选择一行时,第一个视图控制器中的按钮文本会发生变化。
选择单元格时按钮不改变是否有原因?
任何帮助将不胜感激,我仍然是 Swift 的初学者。
以下是相关代码行:
视图控制器 1
class ChartsViewController: UIViewController {
@IBOutlet weak var titleButton: UIButton!
}
extension ChartsViewController: ModalDelegate {
func didSelectValue(value: String) {
self.titleButton.setTitle(value, for: .normal)
}
}
视图控制器 2
protocol ModalDelegate: class {
func didSelectValue(value: String)
}
class DashboardModalViewController: UIViewController {
var delegate: ModalDelegate?
}
extension DashboardModalViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let rowTitle = self.rows[indexPath.row].text
print (rowTitle)
delegate?.didSelectValue(value: rowTitle)
dismiss(animated: true, completion: nil)
}
}
【问题讨论】:
-
在展示模态 VC 时,您是否将委托作为自己传递?
-
抱歉,我不太清楚这意味着什么,所以我想说我还没有这样做。
-
请出示您的
prepare(for segue:)方法,如果没有实现此方法,请按照Yun CHEN的建议实现。 -
快乐编码 :-)
标签: ios swift uitableview delegates presentmodalviewcontroller