2015-07-04 119 views
0

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

我创建了被设置为false一个布尔值,然后在viewDidLoad我补充这一点:

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

相当基本的,但我知道它似乎并没有这样的伎俩。

确保segue代码的工作我刚刚添加了UIButton并做了IBAction具有相同的代码,然后它工作正常。不过,正如我所提到的,如果我的变量userIsRegistered设置为false,我想在启动时执行这个循环。

+0

在viewWillAppear中或viewDidAppear userIsRegistered第一个真正的,然后设置为false viewDidLoad中之后的某个时间,怎么样? – empedocle

回答

2

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

要使其工作,您可以尝试在viewDidAppear :方法,但在这种情况下,你将不得不小心赛格动画,使其正确显示。

为了避免动画问题,因为我认为这是更合乎逻辑的,你可能要检查用户是否注册之前创建此控制器:

  • 用户注册=显示你的“基本用户页面”控制器
  • 用户未登录=显示您的注册控制器