我需要一个按钮,用户可以单击该按钮以使所有人都知道他们正在参加某个位置,但是我只希望每24小时最多可以单击3次,具体取决于按钮的内容,因为每个单元格只有一个按钮的tableView
我还没有尝试过任何东西,因为我从来没有用过时间快速了解它
@IBAction func myButtonClicked(_ sender: Any) {
DataService.ds.REF_BARS.child(imageTitleLabel.text!).child("GoingCount").observeSingleEvent(of: .value, with: { (snapshot) in
print(snapshot.value as! String)
self.countString = snapshot.value as! String
self.countInt = Int(self.countString)! + 1
DataService.ds.REF_BARS.child(self.imageTitleLabel.text!).updateChildValues(["GoingCount": String(self.countInt)])
})
}
如果您可以添加用户在该按钮内或按钮周围单击的前后条件
答案 0 :(得分:3)
您只需1个按钮即可完成
if let storedDate = UserDefaults.standard.object(forKey:"StoredDate") as? Date {
let toDate = Calendar.current.date(byAdding: .day, value:1, to:storedDate)
let cliks = UserDefaults.standard.integer(forKey:"NumOfClicks")
if Date() <= toDate {
if cliks < 3 {
// do what you need and increase NumOfClicks by 1
}
else {
// no more clicks this day
}
}
else {
// date exceed may be reset the date and cliks to 1
}
}
else {
// first attempt
UserDefaults.standard.set(Date(),forKey:"StoredDate")
UserDefaults.standard.set(1,forKey:"NumOfClicks")
// do what you need once from here
}
对于数组处理,您可以将上面的每个键都视为数组,就像[Date]
/ [Int]