[英]iOS: didSelectRowAtIndexPath not being called
我在viewController
有兩個UITableView
。 兩者都有不同的標簽。 標簽為0的UITableview
是可編輯的,標簽1為不可編輯。我的問題是當UITableview
中的標簽為1的選擇行不被調用時。 但是當我滑動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:
是該協議的一種方法。
無論如何,我會設置一個斷點並進行調試。 這是解決問題的正確方法。
另外,我將不依賴於tag
s,而將依賴於兩個表的引用(通過IB出口,屬性或ivars)。 例如。
if(tableView == self.myFirstTable) {
// do stuff here
} else {
// do other stuff here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.