在使用Swift取消在UITableView中添加新行后,我创建了self.tableView.reloadData()时出现错误。
首先,我创建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 ,如上面的屏幕截图所示!
我在这个问题上挣扎了大约几个小时而且找不到解决方案......