2016-03-26 30 views
0

我試圖避免整個開始/登錄屏幕,並直接進入應用程序的第一頁,如果用戶登錄。當我運行下面的代碼沒有什麼反應。我突出了點,它表示當前用戶是零,但是當視圖加載時,當前用戶不是零。如何使用PFUser更改初始視圖控制器?

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") 
     } 
    } 
} 

回答

0

我平時正常進行在我的應用程序日誌中的視圖控制器,比在日誌中視圖控制器的viewDidAppear,我添加了類似的邏輯以下內容:

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

很重要在heiarchy中查看控制器中的日誌,以查看註銷情況,從而使您可以將其展開到視圖控制器中的日誌。

此外,有必要在viewDidAppear中執行一個segue,因爲只有在您轉換的視圖控制器已添加到heiarchy之後,您才必須執行視圖控制器轉換。

+0

這就是我現在正在做的,但我不希望用戶總是單擊登錄按鈕來執行segue。而是在加載屏幕後自動進入主屏幕。 – user6032625

+0

但是如果它在viewDidAppear中的初始視圖控制器到您的應用程序(登錄視圖控制器),它不需要你的用戶。如果有人緩存,應用程序將繼續登錄用戶 –

+0

是的,這是發生了什麼,但我看到登錄頁面,然後進入主屏幕,是否有避免這種情況? – user6032625

相關問題