0

私のプログラムには2つのView Controllerがあります。最初のものにはテーブルビューがあります。1 つのセルをクリックすると、関連する炎症が 2 番目のビュー コントローラーに表示されます。それはうまくいきます。

最初のView Controllerに戻ると、セルをもう一度クリックすると機能しなくなります。委任はその時働いていません。
私はこのようにナビゲートします

-(void)gotoviewUnfinishedMinute
{
    NSArray *vc=[self.navigationController viewControllers];

    ViewControllerView *vcView=nil;

    for (int i=0; i<[vc count]; i++)
    {
        UIViewController *tempVC=[vc objectAtIndex:i];
        if([tempVC isKindOfClass:[ViewControllerView class]])
        {
            vcView=[vc objectAtIndex:i];
            break;
        }
    }

    if(vcView)
    {
        [vcView setMeetingMinute:[unfinishedMinutes objectAtIndex:selectedRow]];
        [self.navigationController popToViewController:vcView animated:NO];
        vcView = nil;
    }
    else
    {
        ViewControllerView *vc3New = [self.storyboard instantiateViewControllerWithIdentifier:@"vcview"];
        [vc3New setMeetingMinute:[unfinishedMinutes objectAtIndex:selectedRow]];
        [self.navigationController pushViewController:vc3New animated:NO];
        vc3New = nil;
    }
    vc = nil;
}

このようなテーブルビューの委任

- (void)viewDidLoad
{
        [super viewDidLoad];
        self.tableViewLastMinutes.dataSource = self;
        self.tableViewLastMinutes.delegate = self;
}

どうすればこの問題を解決できますか?

4

2 に答える 2

0

まず、クリックした他のすべてのセルを呼び出す場合にこのメソッドを呼び出すかどうかを示すブレークポイントを配置して、このメソッドを確認し、NSLog を配置して、クリックした場所に値があるかどうかを確認します。

  • (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2013-11-07T10:28:41.807 に答える