Je veux que le code s'exécute une fois par jour, mais la façon dont je veux accomplir cela est de désactiver le bouton après avoir cliqué dessus, puis de le réactiver lorsqu'il a duré plus de 24 heures.Comment enregistrer la date à laquelle l'utilisateur appuie sur un bouton dans swift?
Le code ci-dessous est-il correct pour enregistrer la date à laquelle l'utilisateur a appuyé sur le bouton?
if distance < radius{
Total_Points += 10
pointsLabel.text = "Total Points: \(Total_Points)"
getPointsOutlet.isEnabled = false
let clickdate = UserDefaults.standard
if var timeList = clickdate.object(forKey: "timeList") as? [Date]{
timeList.append(Date())
clickdate.set(timeList, forKey: "timeList")
} else {
clickdate.set([Date()], forKey: "timeList")
}
clickdate.synchronize()
}
let PointsDefault = UserDefaults.standard
PointsDefault.setValue(Total_Points, forKey: "Total Points")
Vous n'avez pas besoin de créer une nouvelle variable chaque fois que vous appelez 'UserDefaults.standard', vous pouvez l'utiliser tel quel (par exemple' UserDefaults.standard.setValue (...) 'ou le définir en une seule fois et le réutiliser (par exemple 'let defaults = UserDefaults.standard' et plus tard' defaults.setValue (...) ' – Paolo
Merci, je vais changer cela, mais qu'en est-il de sauver la date à laquelle l'utilisateur appuie sur le bouton? –