J'essaye de créer un programme rapide avec un ViewController
principal, et un VC secondaire qui contrôle une fenêtre qui recouvre l'écran. Dans cette fenêtre, vous pouvez entrer les identifiants de connexion, qui s'afficheront dans un tableView
dans la principale ViewController
.Comment rafraîchir un ViewTable à partir d'un ViewController séparé
Jusqu'à présent, je suis en mesure d'enregistrer les valeurs entrées dans la VC secondaire aux données de base, mais je ne suis pas en mesure de reloadData()
pour le tableView
dans le premier VC, parce que cela ne peut pas voir la fonction reloadData()
(ne doit pas être une fonction publique? Pas vraiment sûr, car je suis nouveau à Swift).
Quelqu'un pourrait-il m'aider à trouver la meilleure façon de procéder?
Code principal 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
}
}
Est-ce parce que 'UITableViewDelegate' est manquant? – Amit