[self.tableView reloadData]; I call inside the completionHandler block that is in the loading screen.
NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession] dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {} When the download is complete, the data should be updated (the debugger goes to reloadData), but after reloadData nothing happens, in the methods
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{} -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath{} do not fall again. Important point: self.tableView by default does not know such a property, so I declare its property (binding it to the TableView in Main.storyboard)
@property (weak, nonatomic) IBOutlet UITableView *tableView; 