在自定义单元格TableViewController中使用segue

时间:2015-04-26 14:08:03

标签: ios objective-c uitableview segue

下午好,

我试图在自定义单元格中的TableViewController中创建三个segues,目前它无法正常工作,因为我无法发送正确的"用户名"通过第二和第三个segue。

当用户按下UIImageView和UILabel(连接到TapGestureRecognizer)时会触发第二个和第三个segue,并且在这两个segues中我遇到了问题,因为"用户名"没有更新(它总是相同的,我的TableViewController中的第一个)。

我的代码出了什么问题?我将发布我的StoryBoard的一些截图,因为我不知道哪里出错了......

这里你是我的Segue代码(第一个工作正常):

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];

    NSLog(@"RecipeName ==> %@", [[_jsonArray objectAtIndex:[myIndexPath row]] valueForKey:@"username"]);

    if ([[segue identifier] isEqualToString:@"ShowCarDetails"])
    {
        CarDetailViewController *detailViewController = [segue destinationViewController];

        detailViewController.carDetailModel = [[NSArray alloc]
                                               initWithObjects:
                                               [[_jsonArray objectAtIndex:[myIndexPath row]] valueForKey:@"date"],
                                               [[_jsonArray objectAtIndex:[myIndexPath row]] valueForKey:@"id"],
                                               [[_jsonArray objectAtIndex:[myIndexPath row]] valueForKey:@"imagen"],
                                               nil];
    }

    if ([segue.identifier isEqualToString:@"segueprofile"]) {

        OtherProfileUserViewController *destViewController = [segue destinationViewController];

        destViewController.recipeName = [[_jsonArray objectAtIndex:[myIndexPath row]] valueForKey:@"username"];
    }

    if ([[segue identifier] isEqualToString:@"segueprofile2"])
    {
        OtherProfileUserViewController *destViewController = [segue destinationViewController];

        destViewController.recipeName = [[_jsonArray objectAtIndex:[myIndexPath row]] valueForKey:@"username"];
    }
}

在这里,我是来自StoryBoard的截图:

http://i.stack.imgur.com/HOvp3.png

提前致谢。

1 个答案:

答案 0 :(得分:0)

每次使用时如果尝试使用switch case或尝试一次,否则如果其他人不确定但尝试检查它。