我认为没有必要为此问题发布我的代码。我只是在寻找解释或可能是一行代码来解决我的问题。当我在我的应用程序中删除或添加cellForRowAtIndexPath时,它会被添加或删除到Parse,但是直到转到不同的屏幕并返回时才会出现在应用程序中。我尝试移动删除并将代码添加到ViewDidLoad和ViewWillAppear
中func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
var object: PFObject = self.items[indexPath.row] as PFObject
let alert : UIAlertView = UIAlertView(title: "Item deleted from cart!", message: "", delegate: self, cancelButtonTitle: "Dismiss")
alert.show()
object.deleteInBackgroundWithBlock({ (succeed, error) -> Void in
self.tableView.reloadData()
})
}
}
答案 0 :(得分:1)
您正在从Parse中删除该项目,但您没有从self.items
数组中删除该项目,该数组可能是您的表格视图的数据源。可能会在Parse的self.items
或viewDidLoad
方法中初始化viewWillAppear
数组,这就是您回到屏幕时看到它更新的原因。只是一个猜测。
答案 1 :(得分:0)
尝试tableView.reloadData()
您需要为iOS调用该方法以再次查看数据源并呈现tableView。
答案 2 :(得分:0)
items.removeAtIndex(indexPath.row)
必须在object.deleteInBackgroundWithBlock
上面添加这一行