gpt4 book ai didi

iOS:未调用 didSelectRowAtIndexPath

转载 作者:行者123 更新时间:2023-11-29 10:49:43 26 4
gpt4 key购买 nike

我在 viewController 中有两个 UITableView。两者都有不同的标签。带有标签 0 的 UITableview 是可编辑的,而标签 1 是不可编辑的。我的问题是当在带有标签 1 的 UITableview 中选择行时,它没有被调用。但是当我滑动 didSelectRowAtIndexPath 时,标签 1 被调用。

这是我的代码,

    - (BOOL) tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView.tag == 0) {
return YES;
}
else if (tableView.tag == 1)
{
return NO;
}
return NO;
}


- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView.tag == 0)
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
//My stuff
}
}
else editingStyle = UITableViewCellEditingStyleNone;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView.tag == 1)
{
switch (indexPath.row)
{
case 0:
[self.navigationController popToRootViewControllerAnimated:YES];
break;
case 1:
[self performSegueWithIdentifier:@"mapPageSegue" sender:nil];
break;
case 2:
[self closeMenuTable];
[self listenMusic];
break;
default:
break;
}
}
}

最佳答案

根据您的评论,我猜您没有设置 UITableViewDelegate,因为 tableView:didSelectRowAtIndexPath: 是该协议(protocol)的一种方法。

无论如何,我会设置一个断点并进行调试。这才是深入问题的正确方法。

此外,我不依赖于 tag,而是依赖于两个表的引用(通过 IB 导出、属性或 ivar)。例如。

if(tableView == self.myFirstTable) {
// do stuff here
} else {
// do other stuff here
}

关于iOS:未调用 didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com