【发布时间】:2020-09-30 22:14:10
【问题描述】:
在我的 HomeViewController 中,我有一个文本字段和一个按钮。用户可以写一个城市或触摸这个按钮来查找一个城市。当按钮被触摸时,一个 CitiesTableView 通过 segue 显示(以模态方式存在)。选择表格列表的城市时,我想将此选定的城市发送到主页上的文本字段中。
class HomeViewController: UIViewController{
@IBOutlet weak var tfSearchCity: UITextField!
//Button with Segue to present Modally CitiesTableViewController
var cities = [Cities]()
}
// Protocol to receive data
extension HomeViewController: CitieFinderDelegate{
func addCity(city: Cities){
tfSearchCity.text = city.City
print(city)
}
}
}
我创建了一个协议来在视图之间传递数据,但它不起作用。
protocol CitieFinderDelegate {
func addCity(city: Cities)
}
// this TableView are presenting Modally
class CitiesTableViewController: UITableViewController {
var cities: [Cities] = []
var delegate: CitieFinderDelegate?
override func viewDidLoad() {
super.viewDidLoad()
}
// MARK: - Table view data source
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let city = cities[indexPath.row]
let findCity = Cities(UF: city.UF, City: city.City)
delegate?.addCity(city: findCity)
}
// MARK: - Action to close the view
@IBAction func close(_ sender: UIButton) {
dismiss(animated: true, completion: nil)
}
}}
【问题讨论】: