У меня есть проблема, когда у меня есть UITableViewController
, и когда появляется представление, я делаю некоторые вычисления асинхронно, что должно привести к обновлению определенных строк в таблице.
Внутри функции viewWillAppear
я вычисляю необходимые строки, которые необходимо обновить, следующим образом:
- (void)reloadPaths:(NSMutableDictionary *)bookingsDict
{
NSMutableArray* indexArray = [NSMutableArray array];
int i = 0;
for (NSString *dateKey in self.eventsToShow) {
NSMutableDictionary *venues = [bookingsDict objectForKey:dateKey];
if (venues) {
int j = 0;
NSArray *events = [self.eventsToShow objectForKey:dateKey];
for (DCTEvent *event in events) {
NSString *venueIdString = [NSString stringWithFormat:@"%@", event.eventVenueId];
if ([venues objectForKey:venueIdString]) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:j inSection:i];
[indexArray addObject:indexPath];
}
j++;
}
}
i++;
}
[self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade];
}
Однако я заметил, что функция cellForRowAtIndexPath
никогда не вызывается после этого, и ячейки не обновляются правильно. Есть идеи, в чем может быть проблема?
РЕДАКТИРОВАТЬ: я только что заметил, что если я прокручиваю вид ячейки, которая должна обновляться, она обновляется, когда я прокручиваю обратно в вид. Нет ли способа обновить его во время просмотра?
indexArray
действительные данные? - person Argent   schedule 19.05.2014