我已经从一个VC到另一个VC(从VC拖动到另一个VC)创建了一个segue,并将其命名为RegisterUserSegue,它是Push segue,所有我的视图控制器都嵌入在导航控制器中。
我这样称呼segue:

[self performSegueWithIdentifier:@"RegisterUserSegue" sender:self];

performSegueWithIdentifier中,我设置了每次调用segue都会调用的NSLog,但viewController不会更改。

编辑:
但是,如果我注释掉- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender方法,一切都很好。

这是方法:

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
    NSLog(@"Called");
}


救命?
谢谢!

最佳答案

通过实现prepareForSegueWithIdenitifer,您已经用什么都不做的方法(除了写入日志)覆盖了UIViewController中的默认实现。

您可以使用-

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
    [super performSegueWithIdentifier:identifier sender:sender];
    NSLog(@"Called");
}


但是您通常不重写此方法。如果要将属性传递到目标视图控制器,则可以使用prepareForSegue:sender:

关于ios - 从代码中搜索无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25581656/

10-14 22:04