我正在开发一个包含TableView的iOS应用程序。某些方法从网络接收数据,打开新线程计算信息,并使用
insertRowsAtIndexPaths
方法在运行时向表格中插入一行。如果一次性传输了大量数据,表格可能会在几次插入后更新自身,而不是每次插入后都更新,这可能会引发异常,表示该部分的行数不正确(因为它认为应该增加一行,但线程已经插入了数据数组的更多单元格)。即使我对数据源数组和insertRowsAtIndexPaths
方法进行锁定,它仍然会出现同样的问题。NSLock *mylock = [[NSLock alloc] init];
[mylock lock];
[array addObject:object];
[tableView insertRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationLeft];
[mylock unlock];
请帮忙,
谢谢!