reloadData only on tableView visible cells
That's how table views work by default. The UITableView
class never loads cells until they're about to appear onscreen, even when you call reloadData
.
To reload visible cells of tableview in Swift 3.0:
guard let visibleRows = pTableView.indexPathsForVisibleRows else { return }
pTableView.beginUpdates()
pTableView.reloadRows(at: visibleRows, with: .none)
pTableView.endUpdates()
Try this, You can reload any cell of the tableview using reloadRowsAtIndexPaths:
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows]
withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];