Я пытаюсь передать выбранную строку в UITableView другому контроллеру представления, который также является UITabelView.Это работает (вроде), но мои переменные играют друг с другом (кажется, по какой-то причине 1).
Пример:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
chosenProject = [[self activeProjectsList] objectAtIndex:[indexPath row]];
self.selectedProject = chosenProject;
[self setSelectedProject:self.selectedProject];
NSLog(@"PROJECT: %@",chosenProject); // Returns correctly.
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"ShowShots"]) {
NSLog(@"CURRENT: %@",chosenProject); // Returns NULL?
ShotListViewController *slVC = [segue destinationViewController];
slVC.outputName = self.selectedProject;
}
}
Это странно, потому что в первый развернет NULL, затем при повторной попытке возвращает последнюю выбранную строку, которая должна была быть представлена в первый раз .. не NULL.
Я предполагаю, что переменная не устанавливается до отправки prepareForSegue, чтоВот почему, кажется, он всегда отстает, когда получает.
Я ошибаюсь, просто чтобы передать одну переменную?