调用tableView reloadData时出错:更新后现有部分中包含的行数

时间:2013-12-18 22:19:01

标签: ios objective-c uitableview

我之前在人们的问题中看到过这个错误,但我发现的唯一答案是我应该调用reloadData。但是,这似乎正是我收到错误的时候!

所以我在一个名为itemArray的数组中有一堆tableView的数据。它是空的,直到NSURLRequest完成,然后当它返回时,第2节中的行数更新为[itemArray count];

奇怪的是,并不总是抛出错误。它非常间歇,所以我无法隔离出错的地方。

任何人都知道此错误的常见原因?一旦数据源发生变化,我总是调用reloadData。我能提供哪些代码可以帮助你帮助我吗?

确切错误:

  

'NSInternalInconsistencyException',原因:'无效更新:无效   第2节中的行数。包含在中的行数   更新后的现有部分(100)必须等于数量   更新前的该部分中包含的行(0),加号或减号   从该部分插入或删除的行数(插入0,   删除0)加上或减去移入或移出的行数   该部分(0移入,0移出)。'

2 个答案:

答案 0 :(得分:0)

很难说不看你的代码,但是itemArray是初始化的吗?也许在viewDidLoad中初始化它,看看错误是否消失。

答案 1 :(得分:0)

您正在某处错误地呼叫beginUpdatesendUpdates。如果您正在呼叫reloadData,则不应使用开始和结束更新API。