Вызов контроллера tablview из другого контроллера tableview в swift 5 - PullRequest
0 голосов
/ 11 апреля 2020

Я очень новичок в Swift, и если у вас есть рекомендации по его улучшению, я был бы признателен.

У меня есть два ViewController, они выглядят абсолютно одинаково, за исключением данных. По какой-то причине мой второй ViewController не работает. Кажется, мой tableView имеет нулевое значение, и я вижу:

Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

. То, как я называю свой ViewController, выглядит следующим образом (MenuViewController (), animated: true)

import Foundation import UIKit import Firebase

class MenuViewController: UIViewController {

@IBOutlet var tableView: UITableView!
let db = Firestore.firestore()

var names = [String]()

override func viewDidLoad() {
    super.viewDidLoad()

    db.collection("Menus").getDocuments() { (querySnapshot, err) in
        if let err = err {
            print ("Error getting documents: \(err)")
        } else {
            for document in querySnapshot!.documents {
                self.names.append(document.documentID)
                print("\(document.documentID) => \(document.data())")
            }
        }
        self.tableView.reloadData()
    }


    tableView.delegate = self
    tableView.dataSource = self
}


}


extension MenuViewController: UITableViewDelegate {

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print("tap tab revolution")
}
}

extension MenuViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.names.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "menuCell", for: indexPath)

    cell.textLabel?.text = names[indexPath.row]

    return cell
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...