0

我有这段代码可以从我的 tableview 导航到另一个 tableview。但它没有导航到正确的表格视图。似乎它创建了另一个视图,它导航到而不是我想去的故事板上的那个。这是因为我创建了一个对象吗?

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

    ValjKupongViewController *vk = [[ValjKupongViewController alloc]init];
    [self.navigationController pushViewController:vk  animated:YES];
}

如何以正确的方式编写此代码,以便导航到情节提要中具有 ValjKupongViewController 类的视图?

非常感谢帮助!

4

1 回答 1

2
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *) indexPath
{
    [self performSegueWithIdentifier: @"My Custom Segue" sender: self];
}

在您的故事板中

步骤 1 CtrlDrag鼠标从 View Controller左边到View Controller右边。

View Controllerleft= 您正在转换的视图控制器上FROM

View Controllerright= 您正在转换的视图控制器上TO

步骤 2选择push类型Segue

在此处输入图像描述

第 3 步现在您的视图控制器将在它们之间有 Segue(如下所示)

在此处输入图像描述

第 4 步您需要命名 Segue 以便能够识别它。单击 Segue,然后转到属性检查器并设置Identifier. (在示例中它设置为My Custom Segue。确保这与上面的代码中的相同。

IE[self performSegueWithIdentifier: @"My Custom Segue" sender: self];

在此处输入图像描述

这是因为我创建了一个对象吗?

是的,您ValjKupongViewController每次didSelectRowAtIndexPath调用时都在分配和初始化一个对象。有了这行代码

ValjKupongViewController *vk = [[ValjKupongViewController alloc]init];

然后你用这条线过渡到它 [self.navigationController pushViewController:vk animated:YES];

于 2013-09-19T16:38:01.687 回答