如何让我的 UiAlertController
或 UIAlertView
在 Swift 中只显示一次?
override func viewDidLoad() {
var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
if let nameIsNotNill = defaults.objectForKey("name") as? String {
self.name.text = defaults.objectForKey("name") as String
}
if let phoneIsNotNill = defaults.objectForKey("phone") as? String {
self.phone.text = defaults.objectForKey("phone") as String
}
var alert = UIAlertController(title: "Disclaimer", message: "WE STRIVES TO PROVIDE ACCURATE, UP-TO-DATE INFORMATION ON THIS APPS.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Agree", style: UIAlertActionStyle.Default, handler: nil))
alert.addAction(UIAlertAction(title: "Disagree", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
super.viewDidLoad()
}
最佳答案
在 import
命令下声明一个全局 Bool
变量:
var justOnce:Bool = true
你应该这样使用它:
override func viewDidLoad() {
super.viewDidLoad()
var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
if let nameIsNotNill = defaults.objectForKey("name") as? String {
name.text = defaults.objectForKey("name") as String
}
if let phoneIsNotNill = defaults.objectForKey("phone") as? String {
phone.text = defaults.objectForKey("phone") as String
}
if justOnce {
var alert = UIAlertController(title: "Disclaimer", message: "WE STRIVES TO PROVIDE ACCURATE, UP-TO-DATE INFORMATION ON THIS APPS.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Agree", style: UIAlertActionStyle.Default, handler: nil))
alert.addAction(UIAlertAction(title: "Disagree", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
justOnce = false
}
}
关于swift - UiAlertView 或 UiAlertController 在 Swift 中只显示一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28285993/