Attached screenshot for issue 尝试使用表格视图显示。我一直收到错误:
无法从其dataSource获取单元格 class List:UITableViewController {
var users = [user]()
override func viewDidLoad() {
let databaseRef = FIRDatabase.database().reference()
databaseRef.child("Users").queryOrderedByKey().observe(.childAdded, with: {
snapshot in
print(snapshot)
let addNote = (snapshot.value as? NSDictionary)?["addNote"] as? String ?? ""
let uid = (snapshot.value as? NSDictionary)?["uid"] as? String ?? ""
self.users.append(user(addNote: addNote,uid: uid))
self.tableView.reloadData()
print(self.users)
})
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print("Test\(users.count)")
return users.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")
let nameLbl = cell?.viewWithTag(2) as! UILabel
nameLbl.text = self.users[indexPath.row].addNote
return cell!
}
答案 0 :(得分:0)
你将不得不deque tableviewcells
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath) as! UITableViewCell
return cell
}
答案 1 :(得分:-1)
好吧...据我所知,你的tableViewCell有单独的.xib文件,而不是原型单元,因为你在使用之前尝试用tableview注册你的nib。因此,为了正确发生这一点,您需要确保一些事情:
您可以使用该标识符来注册该单元格,例如。
让nib = UINib(nibName:“MyTableViewCell”,捆绑:nil)
self.tableView.registerNib(nib,forCellReuseIdentifier:“abc”)
这里,“abc”是标识符。
然后,在cellForRowAtIndexPath委托中,
让cell = tableView.dequeueReusableCellWithIdentifier(“abc”,forIndexPath:indexPath)为! MyTableViewCell
我认为你应该使用上面的步骤注册nib然后deque它。它应该工作正常。