UITableView没有刷新reloadData

时间:2016-07-15 19:13:01

标签: ios swift uitableview

注意:我已经阅读了类似的问题,其中没有一个专门回答了这个问题。我一直试图理解为什么我的UITableView在数据片段添加到列表时没有刷新。我检查了(通过print()语句)并且每当我调用func refreshUI() { dispatch_async(dispatch_get_main_queue(),{ self.tableView.reloadData() }); } 时,它都会检查要使用的数组的长度,并且不执行任何操作。我甚至尝试使用这个功能:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {}

我在另一个回答的问题上找到了,但这并没有解决问题。问题是 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {}永远不会被调用,即使

self.firebase.observeEventType(.Value, withBlock: { (snap) in print("\n\n\n\n\n\nSnap Recieved from Firebase: \n\n\(snap)\n\n") var count = Int(self.names.count) var childCount = Int(snap.childrenCount) print(childCount) print(self.names) print("names count: \(self.names.count)") self.names.removeAll() for child in snap.children { let c = child as! AnyObject self.names.append(c.key!) } self.refreshUI() })

应该返回一个非零数字。

将新信息添加到列表并应显示的代码:

 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  print("For tableView size, returning \(self.names.count)")

    return self.names.count
}

NumberOfRows方法:

{{1}}

0 个答案:

没有答案