【发布时间】:2020-06-30 11:17:34
【问题描述】:
我想要达到的效果如上图所示:当func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 被调用时,我想在它和另一个 UITableViewController、Input VC 和 DataVC 之间传递数据。但是我被困在如何实现这一点上。
它们都有一个共享模型,允许在其基础数据更改时更新单元格。
我打算使用协调器模式在 UIViewControllers 和 不是 Segue 之间导航。
这是我想出的代码:
型号:
struct ModelForDealer {
var dealerName: String?
}
UIViewController 中模型的实例:
let modelForDealer: [ModelForDealer] = [
ModelForDealer(dealerName: "General Motors"),
ModelForDealer(dealerName: "General Motors"),
ModelForDealer(dealerName: "General Motors"),
ModelForDealer(dealerName: "General Motors"),
ModelForDealer(dealerName: "General Motors"),
ModelForDealer(dealerName: "General Motors")]
和 UIViewController 中的单元类:
class CellForDealer: UITableViewCell {
@IBOutlet weak var titleForDealer: UILabel!
func configCellForDealer(with model: ModelForDealer) {
titleForDealer?.text = model.dealerName
}
}
在 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
NSLog("Cell is tapped")
switch indexPath.row {
case 0:
self.coordinator?.gotoDetailDataView()
default:
self.coordinator?.gotoDetailDataView()
break
}
}
【问题讨论】:
-
提供你试过的代码
-
添加你目前尝试过的代码。
-
您要在
DetailVC中进行更改并反映在InputVC中吗? -
@PGDev,不,我希望更改反映在 InputVC 中,我点击 InputVC 内的单元格,将我带到 DetailVC,我点击 DetailVC 内的单元格,更改会反映回来在 InputVC 中。那可能吗..?然后怎么样,我被卡住了..
-
@PGDev,我更新了问题详情,你能看看吗?
标签: ios swift uitableview generics