如何使用PFUser更改初始视图控制器?

时间:2016-03-26 00:43:48

标签: ios swift parse-platform

我试图整体避开启动/登录屏幕,如果用户登录则直接进入应用程序的第一页。当我运行下面的代码时,没有任何反应。我打破了,它说当前用户是零,但是当加载视图时,当前用户不是零。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    self.storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
    var currentUser = PFUser.currentUser()
    print("user \(currentUser)")
    if currentUser != nil {
        if(currentUser?.username?.rangeOfString("@music.co") != nil){
           self.storyboard?.instantiateViewControllerWithIdentifier("venuehomescreen")
        }else{
            self.window?.rootViewController = self.storyboard?.instantiateViewControllerWithIdentifier("userhomescreen")
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我通常在我的应用程序中正常进入日志视图控制器,而不是在视图控制器中该日志的viewDidAppear中,我添加类似于以下内容的逻辑:

if PFUser.currentUser() != nil{
    //perform segue
    //or present view controller modally
}

重要的是让你的登录视图控制器在heiarchy中用于注销等情况,这使你可以放松到视图控制器中的日志。

此外,有必要在viewDidAppear中执行segue,因为只有在您转换的视图控制器添加到heiarchy之后才必须执行视图控制器转换。