0

ストーリーボードで詳細ビューにプッシュしようとしましたが、機能していません。

-(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");   

}
4

3 に答える 3

2

のクラスのselectedDrinkCatとして宣言すべきではありませんか?viewcontrollerdestinationViewController

何かのようなもの:

desmondViewController *selectedDrinkCat=(desmondViewController *)[segue destinationViewController];
于 2012-06-02T15:16:27.837 に答える
0

以下をせよ:

  • storyboardファイルに移動
  • をクリックしviewcontroller1、メイン ビュー コントローラー (マウス + ^) を押して、viewController2
  • コンテキストメニューからプッシュを選択します
  • これらのビュー間にリンクが作成されます。それをクリックすると、インスペクターIndetifierdrinkList

これにより、ストーリーボードが設定されます

これで、作成したコードが機能するはずです。

于 2012-06-02T14:09:58.747 に答える
0

ビューコントローラーのpushViewController:メソッドを使用する必要があります。

于 2012-06-02T13:56:12.973 に答える