如何获取当前segue的标识符

时间:2014-08-19 17:22:03

标签: ios uistoryboard uistoryboardsegue

我在渲染视图时遇到错误,但只有当用户点击UINavigationController中的后退按钮时才会出现错误。我正在考虑通过以下方式来压制有问题的代码:

if(currentSuge.identifier isEqualToString:@'pushItemSegue'){
   doCode // only in this situation
}

我如何获得当前segue标识符的名称?

2 个答案:

答案 0 :(得分:2)

这是不可能的。你不能简单地在应用程序的任何一点获得“当前的Segue”。因为Segues在您的应用生命周期中的特定时间点存在。那就是当你的应用程序准备从一个视图控制器转换到另一个视图控制器时,以及在实际的视觉转换期间。

您可以做的最好是覆盖-prepareForSegue:并将UIStoryboardSegue作为属性存储在ViewController中的某个位置。

更多信息:https://developer.apple.com/library/ios/documentation/uikit/reference/UIStoryboardSegue_Class/Reference/Reference.html

答案 1 :(得分:-1)

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

    //Here you have name of your segue
    NSLog(@"Segue name is %@", [segue identifier]);

    //Use this to performe some action
    if ([[segue identifier] isEqualToString:@"pushItemSegue"])
    {
        //your code
    }

    //Add this for next seque
    if ([[segue identifier] isEqualToString:@"secondSegue"])
    {
        //someting else
    }
}