在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函数,并且单元格没有正确更新.知道问题可能是什么吗?
编辑:我刚刚注意到,如果我滚动出应该更新的单元格的视图,那么当我滚动回视图时它会更新.在视野中有没有办法让它更新?
解决方法 包裹它怎么样?[tableVIEw beginUpdates];[tableVIEw reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UItableVIEwRowAnimationNone];[tableVIEw endUpdates];
以下是我发现的一些类似问题.
cellForRowAtIndexPath isn’t called after reloadRowsAtIndexPaths
UITableView’s reloadRowsAtIndexPaths: (NSArray *) indexPaths failing to cause a reload unless you call it twice?
希望这可以帮助.
总结以上是内存溢出为你收集整理的ios tableView reloadRowsAtIndexPaths无效全部内容,希望文章能够帮你解决ios tableView reloadRowsAtIndexPaths无效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)