Как передать переменную из таблицы в таблицу? - PullRequest
2 голосов
/ 19 декабря 2011

У меня есть TableViewController с х строк. Когда пользователь нажимает на одну строку, я хочу передать второй tableViewController переменную, которая будет определять, какие данные должен загрузить второй tableViewController. Как бы я это сделал?

Я использую Xcode 4.2, раскадровку вот код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *__strong)indexPath
{
    // Navigation logic may go here. Create and push another view controller.

    TestTable *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"TestTable"];

    [self.navigationController pushViewController:detail animated: YES];

    detail.num = [NSString stringWithFormat:[heads objectAtIndex:indexPath.row]];

В «заголовках» я получаю число, которое я должен передать второму табличному виду, в зависимости от того, какое второе табличное представление показывает данные. Не знаю, загружает ли последняя строка «головы» в «число». Мой подход правильный? Любая помощь / ссылка приветствуется

Ответы [ 2 ]

2 голосов
/ 19 декабря 2011

Дайте вашему TestTable свойство для переменной, которую вы хотите передать, например,

@property (retain, nonatomic) NSNumber *myNumber;

в вашем didSelectRowAtIndexPath назначьте его следующим образом:

TestTable *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"TestTable"];

// this assumes that you only have one section in your table
detail.myNumber = [NSNumber numberWithDouble:[heads objectAtIndex:indexPath.row]];

[self.navigationController pushViewController:detail animated: YES];

detail.num = [NSString stringWithFormat:[heads objectAtIndex:indexPath.row]];

В контроллере вашей второй таблицы вы можете использовать число следующим образом:

double d = [self.myNumber doubleValue];
1 голос
/ 28 декабря 2011
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *__strong)indexPath {
    // Navigation logic may go here. Create and push another view controller.

    TestTable *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"TestTable"];

    detail.num = [[NSString stringWithFormat:[heads objectAtIndex:indexPath.row]] intValue];
    [self.navigationController pushViewController:detail animated: YES];
}
...