我的表格视图分为两部分: 完成任务和完成任务。
当我点击删除时,我希望在完成的任务中执行任务,反之亦然。
这是我的viewDidAppear:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
}
这是我的承诺:
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
let thisTask = fetchedResultsController.objectAtIndexPath(indexPath) as! TaskModel
if indexPath.section == 0 {
thisTask.completed = true
}
else {
thisTask.completed = false
}
(UIApplication.sharedApplication().delegate as! AppDelegate).saveContext()
}
这是controllerDidChange:
func controllerDidChangeContent(controller: NSFetchedResultsController) {
tableView.reloadData()
}
答案 0 :(得分:1)
检查是否设置了tableView
的dataSource和delegate属性。除此之外你可以试试这个:
func controllerWillChangeContent(controller: NSFetchResultsController) {
tableView.beginUpdates();
}
func controllererDidChangeContent(controller: NSFetchResultsController) {
tableView.endUpdates();
}
答案 1 :(得分:1)
尝试
self.viewWillAppear(false)