0
以下のコードがあります。Firebaseデータベースから名前、電話番号、メールアドレスを取得するシンプルなアドレス帳です。 Navigation BarとSearch機能へのアクセスを得るためにNavigation Controllerを追加するまで、これは完全に機能しました。firebaseデータベースを使用したナビゲーションコントローラとテーブルビュー
今、私のテーブルビューはデータベースから何も表示されません、私はそれが何かを知っているが、何かをブロックしているNavコントローラ...助けてください!
UPDATE !!:func cellForRowをロードしていないので、魔法使いはnumberOfRowsが0を返していることを意味します...ブレーキポイントを挿入すると、Handleはデータベースから1つの名前を取得できます。干渉している。
class TableVC: UITableViewController {
var Telefonbog: [String] = []
var Handle: FIRDatabaseHandle?
var Ref: FIRDatabaseReference?
var searchController: UISearchController!
var resultController = UITableViewController()
static var _Mail = ""
static var _Mobil = ""
static var _Navn = ""
override func viewDidLoad()
{
super.viewDidLoad()
self.searchController = UISearchController(searchResultsController: self.resultController)
self.tableView.tableHeaderView = self.searchController.searchBar
Ref = FIRDatabase.database().reference()
Handle = Ref?.child("medarbejder EL").observe(.childAdded, with: { (snapshot) in
if let item = snapshot.value as? String
{
self.Telefonbog.append(item)
self.reloadInputViews()
}
})
}
//opætning af telefonbog i tableview
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return Telefonbog.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let bog = UITableViewCell(style: .default, reuseIdentifier: "bog")
bog.textLabel?.text = Telefonbog[indexPath.row]
return bog
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
let currentcell = Telefonbog[indexPath.row]
Ref = FIRDatabase.database().reference()
Ref?.child("medarbejder EL").child(currentcell).observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as? NSDictionary
let Mail = (value?["Mail"] as? String)!
let Mobil = (value?["Mobil"] as? String)!
TableVC._Mail = Mail
TableVC._Mobil = Mobil
TableVC._Navn = currentcell
self.performSegue(withIdentifier: "kontakt", sender: self)
})
}
}