Ich möchte eine Warnung anzeigen, und ich habe es getan. Aber es gibt ein Problem: Ich kann einen globalen Wert nicht ändern oder eine Funktion im Handler von UIAlertAction
von UIAlertController
hinzufügen. Zum Beispiel:Wie ändert man den globalen Wert (Funktion hinzufügen) im Handler von UIAlertAction von UIAlertController?
let alertController = UIAlertController(title: "",
message: "Do you want to leave ?", preferredStyle: UIAlertControllerStyle.Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil)
let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default,
handler: {
action in
self.appDelegate.globalvalue = true
})
alertController.addAction(cancelAction)
alertController.addAction(okAction)
if let popoverController = alertController.popoverPresentationController {
popoverController.sourceView = sender as! UIView
popoverController.sourceRect = sender.bounds
}
self.presentViewController(alertController, animated: true, completion: nil)
ich hinzufügen self.appDelegate.globalvalue = true
im Handler von UIAlertAction
von UIAlertController
, aber der Wert self.appDelegate.globalvalue
ist immer falsch ... self.appDelegate.globalvalue
ist nicht wahr ...
sein geändert Wie kann ich tun, um Ändern Sie den Wert im Handler von UIAlertAction
von UIAlertController
? oder Kann ich einen globalen Wert ändern, nachdem ich in der Warnung auf OK geklickt habe? Vielen Dank für alle von Ihnen :)
Haben Sie ohne Selbstversuch versucht? und wo ist dieser Code? Appdelegate oder irgendein viewController? – Miknash
er muss 'self' verwenden, da er' appDelegate' von innerhalb einer Schließung referenziert ... –
Ich brauche 'self', ich definiere den Wert in' AppDelegate.swift' – user2262304