在发布时发出嘘声

时间:2015-07-04 15:02:37

标签: ios swift segue viewdidload

我正在创建一个基本用户页面,如果用户未注册,我会在启动时自动转到另一个UIViewController

我创建了一个设置为false的bool,然后在viewDidLoad我添加了这个:

if (userIsRegistered == false) {
        performSegueWithIdentifier("signUp", sender: nil)
    }

我知道相当基本,但它似乎没有做到这一点。

确保segue代码正常工作我刚刚添加了UIButton并使用相同的代码执行了IBAction,然后就可以了。但正如我所提到的,如果变量userIsRegistered设置为false,我希望在启动时执行segue。

1 个答案:

答案 0 :(得分:2)

它不起作用,因为它在viewDidLoad中执行,其中所有segue组件可能都不可用。例如,如果您正在使用推送segue,则可能尚未设置navigationController属性,或者导航控制器尚未准备就绪,...

要使其工作,您可以尝试在viewDidAppear:方法中执行此操作,但在这种情况下,您必须注意segues动画以便正确显示。

为了避免动画问题并且因为我认为它更符合逻辑,您可能需要检查用户是否在之前注册

  • 用户注册=显示您的"基本用户页面"控制器
  • user unregistered =显示您的注册控制器