一个具有多个操作的 UIAlertController 函数 - 这可能吗?

One UIAlertController function with multiple actions - is this possible?

以下代码是我编写的用于处理 'Back' 按钮和 'Logout' 按钮的函数。当用户点击 'Cancel' 时,他将停留在当前视图,当他点击 'OK' 时,他将被带到上一个视图或登录屏幕,具体取决于他点击的按钮。我可以用一个功能来做到这一点,还是每个按钮都需要一个功能?我更喜欢一个函数,我可以创建一个全局函数并在所有三个视图中使用。

func passThroughErrorAlertController(title:String, error:String) {
    var passThroughAlert = UIAlertController(title: title, message: passThroughError, preferredStyle: UIAlertControllerStyle.Alert)
        passThroughAlert.addAction((UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)))
        passThroughAlert.addAction((UIAlertAction(title: "OK", style: .Default, handler: {action in
        self.dismissViewControllerAnimated(true, completion: nil)
        })))
        self.presentViewController(passThroughAlert, animated: true, completion: nil)
}

我可以使用 performSegueWithIdentifier 然后使用带有 segue 标识符的 var 吗?那会是什么样子?我的意思是,在 performSegueWithIdentifier 之后我需要添加参数吗?

您只需指定一个不同的标识符,具体取决于您要展开到哪个视图控制器。

您的 AlertController 将指定正确的标识符,具体取决于用户是否已注销(退回登录)或未注销(退回上一个视图)。

如果您需要传递额外的信息,您可以在 prepareForSegue 中进行设置。