アラートを表示したいと思います。しかし、問題があります: グローバル値を変更することはできませんまたはUIAlertAction
UIAlertController
のハンドラで関数を追加することはできません。たとえば:UIAlertControllerのUIAlertActionのハンドラでグローバル値(関数の追加)を変更するにはどうすればよいですか?
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)
私が行うことができますどのように
...私はUIAlertController
の
UIAlertAction
のハンドラで
self.appDelegate.globalvalue = true
を追加し、その値
self.appDelegate.globalvalue
は
self.appDelegate.globalvalue
をtrueに変更されていない...常にfalseですのハンドブックの値を
UIAlertAction
に変更しますか?またはアラートで[OK]をクリックした後にグローバル値を変更することはできますか?皆さんありがとうございました:)
自己なしで試しましたか?このコードはどこにありますか? AppdelegateまたはいくつかのviewController? – Miknash
彼はクロージャ内から 'appDelegate'を参照するので、' self'を使う必要があります... –
私は 'self'を使う必要があります。' AppDelegate.swift'の値を定義します。 – user2262304