【问题标题】:Swift Parse.com UITableView doesn't reloadData after updating the NSMutableArray更新 NSMutableArray 后,Swift Parse.com UITableView 不会重新加载数据
【发布时间】:2017-11-10 09:33:19
【问题描述】:

我有一个应该显示用户的 UITableView,它是第一次显示,但在调用 reloadData() 时不会更新。

启动tableView和reloadData函数的代码如下:

let query = PFQuery(className: UserModel.parseClassName())
    query.whereKey("gender", equalTo: current.sexe)
    query.limit = countPerPage
    query.skip = pageIndex * countPerPage
    query.order(byAscending: "fullname")
    query.findObjectsInBackground(block: {(objects: [PFObject]!, error: Error!) -> Void in

        if error == nil {

            for object in objects as! [UserModel]{

                self.userArray.add(object)
            }

            self.serachTable.reloadData()

        } else {
            print("error")

        }
    })

【问题讨论】:

  • 在主线程中更新一次并检查
  • 尝试用表的datasourcedelagate方法更新。
  • @三币怎么样?

标签: ios swift uitableview parse-platform


【解决方案1】:

reloadData 必须在主线程上调用。在reloadData周围添加DispatchQueue.main.async

DispatchQueue.main.async {
        self.serachTable.reloadData()
}

【讨论】:

  • 你确定你的数据源从userArray加载数据吗?
【解决方案2】:

首先从 self.userArray 中删除数据,然后添加类似

的数据

self.userArray.append(object)

之后调用 reload tableview。在执行此操作之前,请验证您的数据源和委托已在视图控制器中连接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 2013-11-13
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多