gpt4 book ai didi

swift - 在应用程序中显示一次 UIAlert

转载 作者:行者123 更新时间:2023-11-30 13:34:34 26 4
gpt4 key购买 nike

我想在应用程序中显示一次 UIAlert,所以我尝试使用 Bool type showones。所以我在 viewdidLoad 中将其设置为 false,然后当我点击警报中的“完成”时,它会显示警报,它会保存日期并将 showones 设置为 true。所以它永远不会出现,但是当我停止 Prozess 并在应用程序中进入新状态时,它会加载新的 ViewController,然后 showones 再次为 false。所以有谁有想法我可以在应用程序中展示一次。感谢您的帮助。

  var showones: Bool?

override func viewDidLoad() {
super.viewDidLoad()

showones = false
}

if showones == false {
let AlertView = DateAlertController(nibName: "DateAlertController", bundle: nil)

let AlertDateView = SimpleAlert.Controller(view: AlertView.view, style: .Alert)
showAlert(AlertDateView)
let date = AlertView.DatePicker.date
PAlertdate = date
}

alert.addAction(SimpleAlert.Action(title: "Done", style: .Default, handler: { (action) -> Void in
if self.Segmentedevery.selectedSegmentIndex == 0 {
let newDateEvery = NSEntityDescription.insertNewObjectForEntityForName("Everyday", inManagedObjectContext: self.mgdContext) as! Everyday
newDateEvery.picturedate = self.PAlertdate
newDateEvery.psetremind = true
self.showones = true
}

最佳答案

使用 NSUserDefaults 来保存 BOOL 状态是一个好主意。

if self.canShowAlert() {
//your code ...

//set bool state to be false in userDefaults
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setBool(false, forKey: "alert")
userDefaults.synchronize()
}

func canShowAlert()-> Bool {
let userDefaults = NSUserDefaults.standardUserDefaults()
var canShow: Bool = false
if let _ = userDefaults.objectForKey("alert")
canShow = userDefaults.boolForKey("alert")
} else {
userDefaults.setBool(true, forKey: "alert")
canShow = true
userDefaults.synchronize()
}
return canShow
}

关于swift - 在应用程序中显示一次 UIAlert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36226772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com