2015-12-05 25 views
0

我有一個函數,檢查表單輸入,然後如果基於布爾變量有效,它會啓動一個performSegue過渡到下一個階段。Swift - 塞格雙擊

我有用於用戶註冊的3次: 1-基本詳情 2-用戶名 3-帳戶驗證

當我在按鈕上點擊時,它從基本詳情進入名視圖...然後立即轉到帳戶驗證。用戶名ViewController中的ViewDidLoad函數體中的print語句向控制檯打印兩次(奇怪!)。

這裏是我的代碼的主體:

@IBAction func proceedPressed(sender: AnyObject) { 
     print("Proceed Pressed"); 
     if nameTextField.text != "" || emailTextField.text != "" || passwordTextField.text != "" || mobileTextField.text != "" 
     { 
      /*Check Formatting of Fields and Rules*/ 
      let validationResult = true 
      /*Store in userObject for further processing*/ 
      if(validationResult == true) 
      { 
       //updateing objects 
       self.performSegueWithIdentifier("selectUsernameSegue", sender: sender); 
      } 


     }else{ 
      /*Display validation error on screen*/ 
      print("Some Fields are Empty!"); 
     } 

    } 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
     if (segue.identifier == "selectUsernameSegue") { 
      // pass data to next view 
      let destinationVC = segue.destinationViewController as! UsernameViewController 
      destinationVC.userObject = self.userObject; 

     } 
    } 

和SEGUE我有兩個視圖(1 & 2)被稱爲selectUsernameSegue之間。爲什麼它顯示第二個視圖控制器然後直接移動到第三個?

感謝,

UsernameViewController體:

class UsernameViewController: UIViewController { 

    var userObject = UserClass(); 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
     print("Email: " + userObject.email!); 
    } 
+0

你如何有線從基本細節的原因請看用戶名?你怎麼觸發這個segue? – vacawama

+0

顯示第二個視圖控制器的一些代碼,除了格式錯誤的布爾邏輯之外,這個代碼看起來還好。 – luk2302

+0

@vacawama我用故事板連線它,然後給它一個名字。上面的控制器顯示觸發器。 –

回答

2

您已經從按鈕有線您SEGUE。

當按鈕被按下時,segue會立即觸發,第二次當您撥打performSegueWithIdentifier。相反,你應該在viewController頂絲從viewController圖標SEGUE如果你想與performSegueWithIdentifier觸發它:

wiring segue