0

誰かがアラート アクションに対して OK と言ったときに、ルート ビュー コントローラーに戻りたいと考えています。ただし、Alert アクションでは、self へのアクセスは許可されません。

AlertAction で現在のナビゲーション コントローラを取得するための回避策は何ですか?

ここにコードがあります、

func buttonAction(sender:UIButton!)
{
let alertController = UIAlertController(title: "IQ", message:"Thank you for your feedback!", preferredStyle: .Alert)
alertController.addAction(okAction)
self.presentViewController(alertController, animated: true, completion: nil)
}

var okAction = UIAlertAction(title: "Menu", style:UIAlertActionStyle.Default) {
UIAlertAction in
NSLog("OK Pressed")
self.navigationController?.popToRootViewControllerAnimated(true) //error
}
4

3 に答える 3

0

代わりに、次のようにすることもできます。

let alert = UIAlertController(title: "Alert", message: "Message.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { action in
        self.navigationController?.popToRootViewControllerAnimated(true)
}))
self.presentViewController(alert, animated: true, completion: nil)
于 2015-11-13T23:12:20.473 に答える