Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在前一个警报解除后立即显示新警报_Ios_Swift_Uialertcontroller - Fatal编程技术网

Ios 在前一个警报解除后立即显示新警报

Ios 在前一个警报解除后立即显示新警报,ios,swift,uialertcontroller,Ios,Swift,Uialertcontroller,我试图通过一个接一个地生成警报来测试我制作的警报生成器,但是我意识到第二个警报永远无法显示,因为前一个警报没有被取消。我如何才能在第一次警报解除后立即调用第二次警报。以下是关于警报定义的信息: let test1: UIAlertController = alertGenerator(title: "test1", message: "test1", actions: settings) let test2: UIAlertController = alertGenerator(title: "

我试图通过一个接一个地生成警报来测试我制作的警报生成器,但是我意识到第二个警报永远无法显示,因为前一个警报没有被取消。我如何才能在第一次警报解除后立即调用第二次警报。以下是关于警报定义的信息:

let test1: UIAlertController = alertGenerator(title: "test1", message: "test1", actions: settings)
let test2: UIAlertController = alertGenerator(title: "Test2", message: "test2", actions: cancel)
if CLLocationManager.authorizationStatus() == .denied {
    print("Authorization Denied")
    self.present(test1, animated: true, completion: nil)
}
self.present(test2, animated: true, completion: nil)

如果您可以访问每个
UIAlertAction
,这将简单得多。您可以在处理程序中为关闭上一个警报的警报操作显示下一个警报。什么是
操作
?您需要设置某种可以从每个操作调用的闭包或委托方法,以便知道每个警报何时被解除您是否必须使用
alertGenerator
?我不一定要使用alertGenerator,因为我是从swift开始的,我想我应该挑战自己并创建一个函数来实现这一点。Actions是alertGenerator的可变参数,因此当调用它时,所有这些操作都将被实现。不过,我会删除alertGenerator,看看这是否有帮助。如果您可以访问每个
UIAlertAction
,这会简单得多。您可以在处理程序中为关闭上一个警报的警报操作显示下一个警报。什么是
操作
?您需要设置某种可以从每个操作调用的闭包或委托方法,以便知道每个警报何时被解除您是否必须使用
alertGenerator
?我不一定要使用alertGenerator,因为我是从swift开始的,我想我应该挑战自己并创建一个函数来实现这一点。Actions是alertGenerator的可变参数,因此当调用它时,所有这些操作都将被实现。不过我会删除alertGenerator,看看这是否有帮助。