【发布时间】:2015-08-12 06:44:29
【问题描述】:
我的表格视图单元格上有一个接受和拒绝按钮。当用户单击拒绝按钮时,它会从解析中删除数据并重新加载表。但是,当我到达最终请求时,点击拒绝会从 Parse 中删除数据,但单元格不会消失。
对于上下文
我有一个名为 var requests = [PFObject]()
这是我的按钮代码
在我的cellForRowIndexPath
cell.declineBtn.addTarget(self, action: "declineRequest:", forControlEvents: .TouchUpInside)
然后我实现函数declineRequest
func declineRequest(sender: UIButton) {
var cell: NotificationsTableViewCell = sender.superview!.superview as! NotificationsTableViewCell
let indexPath = self.tableView.indexPathForRowAtPoint(cell.center)!
let innerP1 = NSPredicate(format: "sender = %@ AND postId = %@ ", cell.requesterEmailLabel.text! , cell.postIdLabel.text!)
var innerQ1: PFQuery = PFQuery(className: "Requests", predicate: innerP1)
var query = PFQuery.orQueryWithSubqueries([innerQ1])
query.getFirstObjectInBackgroundWithBlock{
(object:AnyObject? , error:NSError?) -> Void in
if(error == nil){
object!.deleteInBackground();
loadNotifications(); // self.tableView.reloadData() is in this call
}
}
}
}
我需要以某种方式告诉表格数据数组为空。
让我知道是否需要添加更多上下文。我不想使用commitEditingStyle editingStyle,而是希望按钮负责删除。
编辑 #2 尝试在后台使用块删除后,数据仍然被删除,但表视图仍然没有删除表视图中剩余的最后一行。
这里是代码
query.getFirstObjectInBackgroundWithBlock{
(object:AnyObject? , error:NSError?) -> Void in
if(error == nil){
object!.deleteInBackgroundWithBlock {(success: Bool, error: NSError?)-> Void in
if (success) {
self.loadNotifications()
println("Load Notifications")
}
else {
println("cannot delete")
}
}
}
}
【问题讨论】:
标签: ios swift uitableview parse-platform