由于MOC.rollback()之后未被捕获的异常'NSRangeException'而终止应用程序

时间:2016-08-03 15:46:54

标签: ios xcode swift2 nsmanagedobject reloaddata

在使用Swift取消在UITableView中添加新行后,我创建了self.tableView.reloadData()时出现错误。

enter image description here

首先,我创建managedObjectContext.rollback(),然后使用self.tableView.reloadData()来刷新tableView:

 func cancel() {
    if self.managedObjectContext.hasChanges {
        self.managedObjectContext.rollback()        
        self.tableView.reloadData()
   }
}

这会导致错误

  

由于未捕获的异常'NSRangeException'而终止应用程序,原因:'*** - [__ NSArrayI objectAtIndex:]:索引1超出边界[0 .. 0]'   *

此错误有意义,原因

 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) 

返回 7 ,但我认为在回滚后结果应为 6 ,如上面的屏幕截图所示!

我在这个问题上挣扎了大约几个小时而且找不到解决方案......

0 个答案:

没有答案