UITableview - tableView: didDeselectRowAtIndexPath: метод не работает должным образом? - PullRequest
5 голосов
/ 29 декабря 2011

В моем приложении я использую UITableview.В этом методе делегата didselectrow, если я сделал какую-либо операцию, не может произойти просто.

Например, у меня есть 3 строки в табличном представлении

, если я выберу 1 строку (indexPath.row == 0), ничего не произойдет

если снова выбрать 2 строки (indexPath.row == 1), теперь это вход в консоль indexPath.row == 0, что является предыдущим значением.

если снова выбрать 1 строку, то ее регистрацияего предыдущее значение indexPath.row = 1.

Почему это происходит.

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{

       CustomerInfoViewController *customer = [[EquipmentViewController alloc]initWithNibName:@"CustomerInfoViewController" bundle:nil];

    EquipmentViewController *equpment = [[EquipmentViewController alloc]initWithNibName:@"EquipmentViewController" bundle:nil];

    ContactsViewController *contacts = [[ContactsViewController alloc]initWithNibName:@"ContactsViewController" bundle:nil];

    if(indexPath.row == 0)
    {

        NSLog(@"one %d",indexPath.row);
        [detailsView addSubview:customer.view];
    }

    if(indexPath.row == 1)
    {

         NSLog(@"two %d",indexPath.row);
        [detailsView addSubview:equpment.view];
    }

    if(indexPath.row == 2)
    {

         NSLog(@"three%d",indexPath.row);
        [detailsView addSubview:contacts.view];
    }
}

Пожалуйста, помогите мне.

Заранее спасибо.

Ответы [ 2 ]

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

Вы реализовали didDeselectRowAtIndexPath метод, а не didSelectRowAtIndexPath, как предполагалось

1 голос
/ 29 декабря 2011

Неправильная реализация метода, как сказал Владимир.использовать didSelectRowAtIndexPath

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...