Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UITableview-tableView:DidDeceloseRowatingIndexPath:方法工作不正常?_Iphone_Uitableview - Fatal编程技术网

Iphone UITableview-tableView:DidDeceloseRowatingIndexPath:方法工作不正常?

Iphone UITableview-tableView:DidDeceloseRowatingIndexPath:方法工作不正常?,iphone,uitableview,Iphone,Uitableview,在我的应用程序中,我使用UITableview。在该委托方法中,如果我执行了任何操作,则不会选择行 例如,我在tableview中有3行 如果选择1行(indexPath.row==0),则不会发生任何事情 如果再次选择2行(indexPath.row==1),现在它正在登录控制台indexPath.row==0,这是以前的值 如果再次选择1行,则其日志记录将显示其先前的值indexath.row=1 为什么会这样 - (void)tableView:(UITableView *)tableVi

在我的应用程序中,我使用UITableview。在该委托方法中,如果我执行了任何操作,则不会选择行

例如,我在tableview中有3行

如果选择1行(indexPath.row==0),则不会发生任何事情

如果再次选择2行(indexPath.row==1),现在它正在登录控制台indexPath.row==0,这是以前的值

如果再次选择1行,则其日志记录将显示其先前的值indexath.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];
    }
}
请任何人帮帮我


提前感谢。

您已经实现了
取消Rowatindexpath
方法,而不是像Vladimir所说的那样执行了
取消Rowatindexpath
。使用didSelectRowAtIndexPath

显示某些实际代码可能在逻辑上是正确的。可能将初始化拉入if语句中。这可能与这些章节有关吗?可能执行
NSLog(@“%d%d”,indexath.row,indexPath.section)
查看函数是否没有被调用,或者您的代码是否完全错误。您必须清除一些选项才能更好地理解问题。
didselectrowatinexpath:
过去默认情况下会添加到UITableViewController类中,但现在它被
prepareforsgue:
取代,这让人恼火。这也意味着很多人没有注意到方法名称中微小的
De
,而是使用了错误的方法。