[英]Segue between 2 view controllers (modal) via UIButton crash in Xcode 6 and Swift
所以我正在練習iOs編程,我似乎無法找到解決問題的方法。 我有一個“loginViewController”,我希望我的UIButton“Creer un compte”以模態方式呈現我的“注冊”視圖控制器。 這是問題,當我啟動模擬器並單擊按鈕時,它會崩潰並將我帶到AppDelegate的第一行,
“AppDelegate類:UIResponder,UIApplicationDelegate,Thread1信號SIGABRT。”
我通過控制將我的UIButton拖到Register視圖控制器來完成segue。
這是代碼:
import UIKit
class 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
class RegisterViewController: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)。
感謝大家的幫助,
查爾斯
當您從按鈕到另一個控制器進行segue時,執行segue時不需要任何代碼 - 您應該刪除showRegisterPage方法。 我不確定這是你唯一的問題,但你應該刪除該方法,看看你是否仍然得到錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.