奇怪的癫痫行为 - 不是射击

时间:2012-06-27 21:09:06

标签: iphone ios storyboard uistoryboardsegue

所以我注意到我的程序中有一些非常奇怪的行为。这是一个简化的代码段,然后我将解释构建和运行时会发生什么。

-(void)viewDidLoad {
   [super viewDidLoad];
   ...
   if (self.sampleBool) {
       [self performSegueWithIdentifier:@"mySegue" sender:self];
   }
   else {
       // do stuff
   }
}
...
-(IBAction)myMethod:(UITapGestureRecognizer*)sender {
    ...
    [self performSegueWithIdentifier:@"mySegue" sender:self];
}

segue通过UITapGestureRecognizer触发了 - 所以我知道segue是正确链接的。但是,当self.sampleBool为true且在viewDidLoad中调用performSegueWithIdentifier时,segue不会触发。

有人有任何猜测吗?任何帮助或建议表示赞赏。

由于

2 个答案:

答案 0 :(得分:0)

尝试使用viewWillAppearviewDidAppear事件,看看它是否有效。我的猜测viewDidload中的segues可能不相关,因为事情没有完全连线。

另一方面,这里有设计问题吗?如果你的情况属实,那么这种情况应该发生吗?也许你可以在调用该视图加载之前进一步上游测试。

答案 1 :(得分:0)

如果你试图在ViewDidLoad中推送另一个ViewController,你会遇到问题,因为在viewDidLoad中,viewcontroller还没有准备好!简单来说就是尝试使用viewWillAppear或viewDidappear。