Ios Swift 3:TableView刷新不';不能使用行操作

Ios Swift 3:TableView刷新不';不能使用行操作,ios,swift,uitableview,reloaddata,Ios,Swift,Uitableview,Reloaddata,我正在使用“接受”刷操作。当我点击滑动按钮时,一切都在web服务器上完美运行,但是tableView没有得到更新。实际上,我在getOnay函数中使用了tableView.reloadData(),但它不起作用 有趣的是,当我按两次滑动操作按钮时,它会删除表视图上的行 这是我的密码: override func tableView(_ tableView: UITableView, editActionsForRowAt: IndexPath) -> [UITableViewRowActi

我正在使用“接受”刷操作。当我点击滑动按钮时,一切都在web服务器上完美运行,但是
tableView
没有得到更新。实际上,我在
getOnay
函数中使用了
tableView.reloadData()
,但它不起作用

有趣的是,当我按两次滑动操作按钮时,它会删除
表视图上的行

这是我的密码:

override func tableView(_ tableView: UITableView, editActionsForRowAt: IndexPath) -> [UITableViewRowAction]? {

    let onay = UITableViewRowAction(style: .normal, title: "Accept") { action, index in
        let ip = editActionsForRowAt.row
        let taskInfo:Task = self.onayArray[ip]

        self.getOnay(id: taskInfo.id, status: "okay")

        self.onayArray.remove(at: index.row)
        self.loadOnaylar(userID: self.onayCode.userId, code: self.onayCode.systemCode)
    }
    onay.backgroundColor = .green

    return [onay]
}

调用
getOnay
后,调用函数从数组中删除元素(
self.onayArray.remove(at:index.row)
),您可以说调用
tableView.reloadData()
)。因此,在从数组中删除元素之前,需要重新加载数据。第二次执行刷卡操作时,将调用
reloadData,最后更新上一次操作的效果

因此,更改
getOnay
remove(位于:index.row)
函数的顺序:

self.onayArray.remove(at: index.row)
self.getOnay(id: taskInfo.id, status: "okay")

调用
getOnay
后,调用函数从数组中删除元素(
self.onayArray.remove(at:index.row)
),您可以说调用
tableView.reloadData()
)。因此,在从数组中删除元素之前,需要重新加载数据。第二次执行刷卡操作时,将调用reloadData,最后更新上一次操作的效果

因此,更改
getOnay
remove(位于:index.row)
函数的顺序:

self.onayArray.remove(at: index.row)
self.getOnay(id: taskInfo.id, status: "okay")
您是否尝试在主队列中重新加载data()

 DispatchQueue.main.async {
     tableView.reloadData()
 }
您是否尝试在主队列中重新加载data()

 DispatchQueue.main.async {
     tableView.reloadData()
 }

它不起作用。我想这不是关于主队列的问题,它不起作用。我认为这与主队列无关。你能分享你的loadOnaylar方法代码吗?基本上它只是一个josn post代码。我可以共享loadOnaylar,但问题是,当我运行调试时,这个函数在行操作onay var中根本不起作用。这怎么可能?你能共享你的loadOnaylar方法代码吗?基本上它只是一个josn post代码。我可以共享loadOnaylar,但问题是,当我运行调试时,这个函数在onay var的行操作中根本不起作用。这怎么可能?它在onay var中不起作用,我不知道为什么。@winnervswinner你的
getOnay(…)
函数做什么?这个函数中有get json方法。在检测到get方法后,它会重新加载tableview。@winnervswinner您是否实现了
canEditRowAt
tableview委托方法(对于您想要执行刷卡操作的行,需要返回
true
false)?它在onay变量中不起作用,我不知道为什么。@winnervswinner您的
getOnay做了什么(…)
function do?此函数中有get-json方法。在检测到get方法后,它会重新加载tableview。@winnervswinner您是否实现了
canEditRowAt
tableview委托方法(对于要执行刷卡操作的行,需要返回
true
/
false
)?