Iphone 如何使用故事板从主视图推送到细节视图?

Iphone 如何使用故事板从主视图推送到细节视图?,iphone,ios,xcode,uistoryboard,Iphone,Ios,Xcode,Uistoryboard,我试图在故事板中推到细节视图,但不起作用 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"drinkList"]) { NSIndexPath *myIndexPath = [self.drinksCatTable indexPathForSelectedRow]; if

我试图在故事板中推到细节视图,但不起作用

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"drinkList"])
    {
        NSIndexPath *myIndexPath = [self.drinksCatTable indexPathForSelectedRow];

        if (myIndexPath.row ==0) //if selected is row 1 
        {
            selectedDrinkCat  =[segue destinationViewController];
            Drinks *drinkList = [aDelegate.categoryArray objectAtIndex:0];//forward all drinks to drinksList
            selectedDrinkCat.drinkList = drinkList;//point drinkList to the next view drinkList
            selectedDrinkCat.allDrinkStr = @"All";//all drinks selected 
                 NSLog(@"aaa");
        }
        else 
        {
            Drinks *drinkList = [aDelegate.categoryArray objectAtIndex:(myIndexPath.row)-1];//we have to minus 1 as the row had en extra "All" row which is not in the database
            selectedDrinkCat.drinkList = drinkList; 
            selectedDrinkCat.allDrinkStr =@"cat";
            NSLog(@"1111");

        }
    }
}

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

    [self performSegueWithIdentifier:@"drinkList" sender:self];
    NSLog(@"called did select");   

}

必须使用视图控制器的
pushViewController:
方法。

执行以下操作:

  • 转到
    情节提要
    文件
  • 单击
    viewcontroller1
    ,然后按下主viewcontroller(鼠标+^),并将其拖动到
    viewController2
  • 从关联菜单中选择“推送”
  • 将在这些视图之间创建一个链接,单击它,然后在inspector中将
    索引器
    更改为
    饮用列表
这将设置故事板


现在,您编写的代码应该可以工作了。

您是否应该将
selectedDrinkCat
声明为
destinationViewController
类的
viewcontroller

比如:

desmondViewController *selectedDrinkCat=(desmondViewController *)[segue destinationViewController];