我想在TableViewController和ViewController之间传递数据,TableViewController从ViewController传回数据 找不到我的计划' minTable'
我的协议代码: 进口基金会
protocol SaveUnits {
func save (value: Double)
}
我的表类:
class UnitsTableViewController: UITableViewController {
var minTable = Double()
var delegate: SaveUnits?
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let tableCell = moneyArray[indexPath.row]
minTable = tableCell.val
delegate?.save(value: minTable)
unitsText = tableCell.name
let _ = navigationController?.popViewController(animated: true)
}
我的ViewController类:
导入UIKit
class ViewController: UIViewController, SaveUnits {
var min = 1
func save(value: Double) {
min = minTable // use of unresolved indentifier 'minTable'
}
我的delegete传递数据:
override func prepare(for segue: UIStoryboardSegue, sender: Any?){
(segue.destination as? UnitsTableViewController)?.delegate = self
}
答案 0 :(得分:1)
当然ViewController
对minTable
一无所知。 minTable
是UnitsTableViewController
的财产。您将其作为参数传递给save
函数。所以在它的内部函数叫做value
。你应该写:
func save(value: Double) {
min = value
}