How can I determine if the user has scrolled to the last cell/bottom of a UITableView?
Use NSArray *paths = [tableView indexPathsForVisibleRows];. Then check if the last object in that array is the indexPath for the final cell.
NSArray *paths = [tableView indexPathsForVisibleRows];
Source: Another Question