2015-03-02 19 views
0

兩個視圖控制器(模態)之間爭論所以我正在練習iOs編程,我似乎無法找到解決我的問題。我有一個「loginViewController」,我希望我的UIButton「Creer un compte」模態地呈現我的「註冊」視圖控制器。這裏是這個問題,當我啓動模擬器時,我點擊按鈕,它崩潰並將我帶到AppDelegate的第一行,通過Ucodeutton在Xcode 6和Swift

「class AppDelegate:UIResponder,UIApplicationDelegate,Thread1 signal SIGABRT。」

我通過控制拖動我的UIButton到註冊視圖控制器做了segue。

下面是代碼:

import UIKit 

類LoginViewController:UIViewController的{

@IBOutlet weak var LoginScreenImage: UIImageView! 

@IBOutlet weak var codeTextField: UITextField! 

@IBOutlet weak var nipTextField: UITextField! 

@IBAction func showRegisterPage(sender: AnyObject) { 

    let registerViewController = self.storyboard?.instantiateViewControllerWithIdentifier("RegisterViewController") as RegisterViewController 
    self.showViewController(registerViewController, sender: self) 
} 



let client = Client.sharedInstance 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    LoginScreenImage.image = UIImage(named: "UQAMLOGO") 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 




@IBAction func connect() { 
    let code = codeTextField.text 
    let nip = nipTextField.text 

    if code != nil && nip != nil { 
     client.login(code, password: nip, callback: { (response) in 
      if let response = response { 
       if response.status == LoginStatus.Ok { 
        // Good login. 
        let homeViewController = self.storyboard!.instantiateViewControllerWithIdentifier("HomeViewController") as HomeViewController 

        self.showViewController(homeViewController, sender: self) 
       } 
      } else { 
       // Error 
      } 
     }) 
    } 
} 

}

和RegisterViewController:

import UIKit 

類RegisterV iewController:{的UIViewController

@IBOutlet weak var firstNameTextField: UITextField! 

@IBOutlet weak var lastNameTextField: UITextField! 

@IBOutlet weak var emailTextField: UITextField! 

@IBOutlet weak var passwordTextField: UITextField! 

let client = Client.sharedInstance 

override func viewDidLoad() { 



super.viewDidLoad() 
// Do any additional setup after loading the view, typically from a nib. 



} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func register() { 

    let firstName = firstNameTextField.text 
    let lastName = lastNameTextField.text 
    let email = emailTextField.text 
    let password = passwordTextField.text 

    if(firstName != nil && lastName != nil && email != nil && password != nil){ 

     client.register(email, password: password, firstName: firstName, lastName: lastName, callback: {(response) in 
      if let response = response{ 
       if response.status == RegisterStatus.Ok{ 
        let loginViewController = self.storyboard!.instantiateViewControllerWithIdentifier("LoginViewController") as LoginViewController 

        self.showViewController(loginViewController, sender: self) 
       } 
      }else{ 
       //erreur 
      } 
      }) 
    } 
} 

}

我試圖以編程方式做到這一點,試圖將viewControllers重置爲默認類別(UIViewController的)。

感謝大家的幫助,

查爾斯

回答

0

當你從一個按鈕到另一個控制器SEGUE,而不需要任何代碼執行SEGUE - 你應該刪除showRegisterPage方法。我不確定這是否是您唯一的問題,但您應該刪除該方法,然後查看是否仍然出現錯誤。

+0

嗨rdelmar,我只是試圖刪除它,它仍然無法正常工作。 – cvinette 2015-03-02 21:09:19

+0

@cvinette,它執行segue,還是在發生這種情況之前崩潰? – rdelmar 2015-03-02 23:09:38

+0

它發生之前崩潰。我試圖將同一個按鈕綁定到另一個視圖,並且沒有問題。但是,只要我拖動它,以便它執行一個模態賽格,它就會崩潰並將我帶到appdelegate。 – cvinette 2015-03-02 23:38:32