override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
let object: PFObject = self.noteObjects.objectAtIndex(indexPath.row) as! PFObject
object.delete()
当我决定使用删除时,它有效,但应用程序崩溃了
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
} else if editingStyle == .Insert {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
这是错误 *断言失败 - [UITableView _endCellAnimationsWithContext:],/ BuildRoot / Library / Cache / com.apple.xbs / Source / UIKit_Sim / UIKit-3512.30.14 / UITableView.m:1720 2016-01-19 00:07:30.451 Registro1 [21154:852511] *
答案 0 :(得分:2)
从您的代码中,您似乎没有从数据源数组noteObjects
中删除相应的对象。因此,在调用deleteRowsAtIndexPaths
在致电tableView.deleteRowsAtIndexPaths
self.noteObjects.removeAtIndex(indexPath.row)
答案 1 :(得分:0)
从UITableView
删除任何行后,您需要致电reloadData()
,或者您可以将该方法与beginUpdates
或endUpdates()
联系起来。
示例:
tableView.beginUpdates()
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
tableView.endUpdates()
希望这有帮助!