【发布时间】:2015-03-11 21:04:51
【问题描述】:
在某些情况下,我的应用程序需要显示多个警报消息。错误消息在开始时收集,需要一次显示给用户。当第一个被确认时,应该呈现下一个。显然,问题在于它们都试图同时执行。有没有一种聪明的方法可以同步地做到这一点?这是一些简单描述我想要做的代码:
var errors : [NSError]!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let error1 = NSError(domain: "Test1", code: 1, userInfo: [NSLocalizedFailureReasonErrorKey : "Test1 reason."])
let error2 = NSError(domain: "Test2", code: 2, userInfo: [NSLocalizedFailureReasonErrorKey : "Test2 reason."])
let error3 = NSError(domain: "Test3", code: 2, userInfo: [NSLocalizedFailureReasonErrorKey : "Test3 reason."])
errors = [error1, error2, error3]
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
for error in errors {
self.showAlert(error)
}
}
func showAlert(error: NSError) {
var alert = UIAlertController(title: error.domain, message: error.localizedDescription, preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:nil))
self.presentViewController(alert, animated: true, completion: nil)
}
【问题讨论】:
标签: swift synchronization uialertcontroller