UITableView reloadRowsAtIndexPaths: (NSArray *) indexPaths не может вызвать перезагрузку, если вы не вызовете его дважды?

У меня есть 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

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

7
задан William Jockusch 5 April 2011 в 19:38
поделиться