tableView.reloadData没有更新UI

时间:2016-10-11 18:51:30

标签: swift uitableview reloaddata

我已经阅读了很多解决方案,但他们并没有帮助我

我有一个表视图,它被添加到我的viewcontroller中。我把它作为插座拖到控制器上。

 @IBOutlet weak var tableView: UITableView!

在viewDidLoad中我添加了

tableView.dataSource = self
tableView.delegate = self

我有更新表中数据的方法:

private func updateModel() {
    guard let chatUid = UsersManager.sharedInstance.currentChatUID() else { return }

    RealtedUserApi().getRelatedUser("\(chatUid)", successHandler: {  (relatedUsers) in

        dispatch_async(dispatch_get_main_queue()) {
            self.relatedUsers = relatedUsers
            self.tableView.reloadData()
        }
    }) { (error) in
        print(error)
    }
}

在我执行pull-to-refresh时执行,但UI未更新

我将breakepoint放置在我的表格单元格中,并且来自服务器的数据(例如用户的状态)被更新,但是用户界面没有 - 用户在视图中的状态在单元格中保持不变&# 39; s标签

有没有人有任何想法如何解决这个问题?

P.S。 relatedUsers是对象的UserUser数组。它是我的tableView的源代码。 RelatedUser具有status属性,该属性在服务器上更改,我需要更新单元格中的相应标签文本

1 个答案:

答案 0 :(得分:0)

这个问题太傻了,所以对我很羞耻:

我在dequeueReusableCellWithIdentifier块中评论了代码的某些部分,其中也是return cell并忘记了这一点。 但在cellForRowAtIndexPath结束时,我返回UITableViewCell()

通常在这种情况下App崩溃,但在我的情况下它没有崩溃。所以我可以看到来自服务器的数据行,但更新不起作用。