segue不识别segue标识符

时间:2012-06-18 05:35:29

标签: ios xcode uistoryboard uistoryboardsegue

我想我必须在这里找到一些简单的东西,但我无法弄清楚它是什么。

我必须支持来自同一个viewcontroller的多个segue,所以很自然我想使用segue标识符。我的代码因某些原因无法运行,让我举个例子:

此代码如下:

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

    NSString *segueID = @"createBuildSegue";

    if (segue.identifier == @"createBuildSegue") {
        UINavigationController *navController = segue.destinationViewController;
        CreateBuildTableViewController *rootController = [navController.viewControllers objectAtIndex:0];
        [rootController setOptionsDictionary:[[DataManager sharedDataManager]optionsDictionary]];

        NSLog(@"Worked");
    }
    NSLog(@"segue identifier = %@", segue.identifier);
    NSLog(@"segueID = %@", segueID);

}

这是控制台的输出:

2012-06-17 22:32:06.921 RubiconMobile[26943:f803] segue identifier = createBuildSegue
2012-06-17 22:32:06.922 RubiconMobile[26943:f803] segueID = createBuildSegue

这不起作用,我无法弄清楚原因。我真烦扰我

任何想法?

谢谢!

1 个答案:

答案 0 :(得分:5)

使用isEqualToString:比较字符串,而不是==。后者检查指针是否相等,前者检查字符串是否实际上是相同的字符串。

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