2016-07-20 4 views
0

GoogleSignindelegateの後にAPIを呼び出そうとしています。既存のユーザーをチェックします。そうでない場合、登録するフォームが開きます。ここで私は、私は、ユーザーがGoogleのサインイン]ボタンをクリックした場合、我々は私達のデータベースではその存在を確認することをした後、現在のコントローラから宛先コントローラにプッシュセグエを定義し、Login2で命名「スクロールはgoogleSigninの後にsegueを実行します

をやった:の後

func getGoogleData(let uId:AnyObject, let emailId:AnyObject, let name:AnyObject){ 
     accountType = "GOOGLE" 
     accountId = uId as! String 
     self.emailId = emailId as! String 
     self.name = name as! String 
     print(accountId) 
     print(accountType) 
     self.appData.setValue(self.accountId, forKey: "uId") 
     self.appData.setValue(self.accountType, forKey: "uAccountType") 
     self.appData.synchronize() 
     self.checkAlreadyExist() 
    } 

を識別子「login2」

とはセグエを持っていない)
func do_ui_refresh(){ 
     dispatch_async(dispatch_get_main_queue(), { 
      if(self.appData.stringForKey("userId") == nil){ 
       self.performSegueWithIdentifier("login2", sender: self) 
      } 
      else{ 
       self.performSegueWithIdentifier("loginAlready", sender: self) 
      } 
      return 
     }) 
    } 

しかし、私は、アプリケーションを実行するたびに、それは(何のReceiverを示しています非同期我々は先のセグエに行くuiRefreshメソッドを呼び出します

しかし、私は明確にインスペクタでそれを見ることができるセグを定義しました。

Segue Image

すべてのヘルプは高く評価されます。

+0

segue定義のスクリーンショットを追加できますか? – fiks

+0

'self'はどんなタイプですか?また、現在のView Controllerをストーリーボードで読み込みましたか? – fiks

+0

はい私はストーリーボードで自分のコントローラーをロードしましたが、selfはこのストーリーボードメソッドを呼び出します。 – user3570390

答えて

0

Ok いくつか行った後にR & D実現に間違いがありました。私たちは、いかなるビューがそれにロードされていないとして、我々はAppDelegate からビューを開きたい場合は、我々は、ビューコントローラIDを定義する必要があり、その後、私たちは、次のコードを使用する必要がありますのでAppDelegateでセグエ操作を行うことができません。

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
        let rootVC = storyboard.instantiateViewControllerWithIdentifier("ViewControllerID") as! UIViewController 
        self.window!.rootViewController = rootVC 

また、私たちはこのことをオープニングで実装することができ、これを介してセグ動作を実行することができます。

関連する問題