J'ai deux contrôleurs et je voudrais passer des données entre eux: Ceci est le premier contrôleur, un tableviewcontroller.Tableview.reloadData ne fonctionne pas
class BooksVC: UITableViewController {
var books: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Books"
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return books.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = books[indexPath.row]
return cell
}
}
Et c'est le deuxième contrôleur, une viewcontroller
class AddController: UIViewController {
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func done(_ sender: Any) {
let myVC = storyboard?.instantiateViewController(withIdentifier: "BooksVC") as! BooksVC
myVC.books.append(inputField.text!)
myVC.tableView.reloadData()
dismiss(animated: true, completion: nil)
}
}
reloadData ne fonctionne pas, pouvez-vous me aide, je serais très heureux.
Vous créez un nouvel objet de contrôleur de vue avec 'instantiateViewController' mais vous ne faire quelque chose pour l'afficher. Avez-vous déjà un autre 'BooksVC' que vous devriez utiliser? –
Non, je dois me connecter au contrôleur BooksVC, pas en créer un nouveau. – Adi