segue.identifier isEqualToString:@";segue1“;始终为空。IOS 6.1情节提要

segue.identifier isEqualToString:@";segue1“;始终为空。IOS 6.1情节提要,ios,xcode,ios6,storyboard,segue,Ios,Xcode,Ios6,Storyboard,Segue,我不明白为什么我的segue.identifier总是返回null。我在存储板中设置了序列标识符 视图控制器1 -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSLog(@"prepared %@",segue.identifier); if([[segue identifier] isEqualToString:@"segue1"] ){ NSLog(@"segue i

我不明白为什么我的segue.identifier总是返回null。我在存储板中设置了序列标识符

视图控制器1

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
     NSLog(@"prepared %@",segue.identifier);
     if([[segue identifier] isEqualToString:@"segue1"] ){
     NSLog(@"segue is equal to 1");
     }
 }
视图控制器2

- (IBAction)unwindFromSegue:(UIStoryboardSegue *)segue {

    NSLog(@"unwinded %@",segue.identifier);
}
日志消息始终为null,因此if语句从不为true。有没有想过为什么我不能得到标识符

编辑:

我做了一个全新的测试项目。它是一个带有ViewController和SecondViewController的单视图应用程序。在故事板中,我建立了从View Controller中的按钮到SecondViewController的popover segue连接,并将segue标识符设置为segue1

在SecondViewController上,我制作了一个后退按钮,并将其连接到我的ViewController中的unwindFromSegue。我还在SecondViewController中添加了prepareForSegue

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@end
#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController

@end
SecondViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@end
#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController

@end

希望这有帮助。谢谢

当您在故事板中设置序列时,还必须为其分配一个标识符。在您的例子“segue1”中

为什么在SecondViewController中有unwindFromSegue:方法?您并没有解除到该控制器,并且它与ViewController中的控制器具有相同的名称。那可能是你的问题。拿出那个,看看这是否解决了问题。

如果您将标识符设置为正确的segue,并且标识符为segue1,那么这将起作用。因此,其中一件事情是不正确的,或者您设置了不正确的展开顺序。你能描述一下你做了什么吗?我确实用segue1作为popover segue的标识符。我补充了更多的问题。你能看到任何问题吗。谢谢你。我确实把segue1作为popover segue的标识符。我补充了更多的问题。你能看到什么问题吗?谢谢,在你的第一个问题中,你没有提到你说的是一个popover segue。看这个。哎呀,我在测试移动方法,然后把它放在那里。在我最新的试用版中,我将prepareforsgue:添加到ViewController中,这将在ViewController中显示segue.identifier为segue1。我应该能够在SecondViewController中获取segue.identifier,还是需要从ViewController中传递它?@Gulfer,你必须传递它,但为什么呢?为什么SecondViewController需要知道它来自哪个序列?你说得对。我想从SecondViewController获取segue标识符,现在我只需要从ViewController获取它。我只是来回传递相同的号码。谢谢你的帮助。既然你引导我走上了正确的道路,我会把你的回答标记为正确。我从SecondViewController中删除了unwindFromSegue:并将prepareForSegue:添加到ViewController中,从中可以获取segue.identifier