In meiner App habe ich versucht, verschiedene Klasse für API-Aufruf zu machen. Klicken Sie auf den Login-Button und wählen Sie die Methode der anderen Klasse. aber wenn ich zu einem anderen Viewcontroller von dieser anderen Klasse gehen will, stürzt es ab.Wie gehe ich weiter ViewController
hier ist mein Code in loginViewController
let mydata = DataControllerLogin()
mydata.login(txtemail.text!,password: txtPassword.text!)
class DataControllerLogin: UIViewController {
func login(username:String,password:String)
{
if Reachability.isConnectedToNetwork() == true
{
let url = "\(basicURL)login"
let param : [String : AnyObject] = [
"email" : username,
"password" : password
]
Alamofire.request(.POST, url, parameters: param, encoding: .JSON).responseObject(completionHandler: { (response:Response<LoginCode, NSError>) in
if (response.result.value != nil)
{
let LoginCode = response.result.value
let message = LoginCode?.Message
let detail = LoginCode?.result
if (LoginCode?.Status == 1)
{
let controller : LoginViewController = self.storyboard?.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController
self.navigationController?.pushViewController(controller, animated: true)
SVProgressHUD.dismiss()
}
else
{
alertViewShow(self, title: "Sorry", message: message!)
SVProgressHUD.dismiss()
}
if let threedayForecast = LoginCode?.result {
print(threedayForecast.FirstName)
}
}
else
{
}
})
}
else {
alertViewShow(self, title: "No Internet Connection", message: "Make sure your device is connected to the internet.")
}
}
}
aber seine immer Absturz auf der Linie, wo i Viewcontroller definieren.
let controller : LoginViewController = self.storyboard?.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController
self.navigationController?.pushViewController(controller, animated: true)
seine zeigt Fehler wie
exc_bad_instruction (code=exc_i386_invop subcode=0x0)
Wenn Sie also wissen lassen Sie es mich wissen, was das Problem ist?
Prüfen LoginViewController hat LoginViewController im Storyboard? –
bereits überprüft, dass sein eine gleiche Kennung –
Ihre „DataControllerLogin“ ist nicht im Stapel oder nicht in der Navigation-Controller verfügen. –