如何为segue名称创建变量?

时间:2014-04-22 04:23:00

标签: ios ios7

如果我有一个从一个viewcontroller到另一个viewcontroller的segue,有没有办法将它们的标识符分配给一个变量,所以可以引用变量而不是文字字符串,如下所示?

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    NSLog(@"%@", segue.identifier);
    if([segue.identifier isEqualToString:@"someSegueName"]){
    //push to view controller
    }
}

我喜欢它,所以如果标识符名称改变,它将更新变量赋值。

2 个答案:

答案 0 :(得分:1)

我不是很生气,为什么你要这样做呢?如果适合你,你可以尝试下面的逻辑。

您可以尝试使用枚举,将不同segue的枚举值作为字符串,并将该字符串用作标识符。

可以存储在数组中并相应地使用

另一种方法是为每个标识符创建常量。

答案 1 :(得分:0)

当第一次以这种方式调用该方法时,可以将其保存到变量: -

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    NSLog(@"%@", segue.identifier);
    if([segue.identifier isEqualToString:@"someSegueName"]){
        someVariable = seague; // This is my addition.
        //push to view controller
    }
}

但是,我建议你将segue名称保存在类中的常量字符串中,这样你就可以重复使用它而不会出错。这样,稍后更改segue名称也会更容易。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    NSLog(@"%@", segue.identifier);
    if([segue.identifier isEqualToString:someVariable]){ //I've changed this line
        someVariable = seague;
        //push to view controller
    }
}