gpt4 book ai didi

swift - 如何从单独的 ViewController 刷新 ViewTable

转载 作者:行者123 更新时间:2023-11-30 12:05:25 24 4
gpt4 key购买 nike

我正在尝试创建一个主 ViewController 的快速程序,以及控制覆盖屏幕的弹出窗口的辅助 VC。在此弹出窗口中,您可以输入登录凭据,该凭据将显示在 tableView 中。主要ViewController .

到目前为止,我能够将辅助 VC 中输入的值保存到核心数据,但我无法 reloadData()对于tableView在第一个 VC 中,因为它看不到 reloadData()函数(一定不能是公共(public)函数?不太确定,因为我是 swift 的新手)。

有人可以帮我找出执行此操作的最佳方法吗?

主ViewController代码:

import UIKit

class ViewController: UIViewController {


@IBOutlet weak var tableView: UITableView!

var account = [Account]()
@IBAction func onAddAccount(_ sender: Any) {
self.tableView.reloadData()
print("RELOADED")
}

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

}

@IBAction func onBlank() {
self.tableView.reloadData()
}
}


extension ViewController: UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return account.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .subtitle, reuseIdentifier: nil)
cell.textLabel?.text = account[indexPath.row].email
cell.detailTextLabel?.text = account[indexPath.row].password
return cell
}
}

最佳答案

我自己对 swift 还比较陌生。但我认为你正在寻找的是 Delegate会告诉主 Controller 数据已经更新以及更新了什么。您似乎还需要一个数据源?这样就可以实现模型、 View 、 Controller 架构。

关于swift - 如何从单独的 ViewController 刷新 ViewTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46730658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com