Кроме того, как уже упоминали другие, если вам нужен только один вызов, оборачивать его в begin / endUpdates не нужно.

я есть UITableViewController, управляющий объектом UITableView в приложении для iPad. Представление таблицы связано с довольно сложным созвездием других объектов. У меня возникла проблема, когда я прошу его перезагрузить строку следующим образом:

//indexPath is an NSIndexPath with indexes 0 and 0.  At the moment, this is the only cell in the table view.
NSArray *array = [NSArray arrayWithObject:indexPath]; 
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone]; 

Проблема в том, что строка не перезагружается. Никогда нет обратного вызова для cellForRowAtIndexPath.

Сумасшедшая вещь в том, что если я вызываю reloadRowsAtIndexPaths дважды, второй вызов вызывает перезагрузку:

//indexPath is an NSIndexPath with indexes 0 and 0.  At the moment, this is the only cell in the table view.
NSArray *array = [NSArray arrayWithObject:indexPath]; 
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone];   // does not reload
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone];   // does reload

Мне интересно, сталкивался ли кто-нибудь еще с такой ошибкой, и если да, то какова была причина?