Ich bin nur neu zu schnellen iOS-Programmierung. Ich schreibe etwas Code. Einfach, ich möchte eine Warnung ausführen und dann über "performSegueWithIdentifier" zu einem anderen View-Controller wechseln. Aber ich habe diese Ausgabe:Versuch, UIViewController auf ViewController zu präsentieren, der bereits UIAlertController präsentiert
"Warnung: Versuch UIViewController zu präsentieren: 0x7fa05b72dd60 auf Kilaundry.ViewController: 0x7fa05b49a2c0 die bereits präsentiert UIAlertController: 0x7fa05d859d70"
ich denke, die Warnung nach diesem Code lautet: „NSOperationQueue .mainQueue(). addOperationWithBlock ".
Warum kann ich keine Warnung ausführen und dann mit "performSegueWithIdentifier" zu einem anderen View-Controller wechseln? Bitte helfen Sie mir zu finden, warum diese Warnung passiert.
Hier ist es meine Codes:
if let data = data, let jsonResult = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary {
print(jsonResult)
Resp_code = jsonResult["Resp_code"] as? String;
Resp_message = jsonResult["Resp_message"] as? String;
if Resp_code == "01" {
NSOperationQueue.mainQueue().addOperationWithBlock {
let alert = UIAlertController(title: "Information", message:Resp_message!, preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default) { _ in })
self.presentViewController(alert, animated: true){}
self.performSegueWithIdentifier("LoginSucceed", sender: self)
}
} else {
NSOperationQueue.mainQueue().addOperationWithBlock {
let alert = UIAlertController(title: "Oops!", message:"It seems "+Resp_message!, preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default) { _ in })
self.presentViewController(alert, animated: true){}
}
}
}
Warum verwenden Sie die NSOperation-Warteschlange? Ich denke, dass Sie dipatch_get_main_queue() verwenden möchten, wenn Sie es für den Hauptthread verwenden möchten. : / – Dershowitz123