如何为 Xcode 保存按钮的禁用
How to save the disability of a button for Xcode
我要对按钮执行的操作是,一旦按下它,它将在一天的剩余时间内禁用。现在我的代码确实会在按下它后禁用它,但是如果用户离开应用程序并返回它,该按钮将再次启用。有没有办法使用 NSUserDefaults?
let save = UserDefaults.standard
let calendar = Calendar.current
let now = Date()
这是在 viewDidLoad 中:
let seven_today = calendar.date(
bySettingHour: 7,
minute: 0,
second: 0,
of: now)!
let two_thirty_today = calendar.date(
bySettingHour: 14,
minute: 30,
second: 0,
of: now)!
if now >= seven_today && now <= two_thirty_today
{
getPointsOutlet.isEnabled = true
}
else
{
getPointsOutlet.isEnabled = false
}
这是按下按钮的功能:
Total_Points += 12
pointsLabel.text = "Total Points: \(Total_Points)"
getPointsOutlet.isEnabled = false
试试这个:
if now >= seven_today && now <= two_thirty_today
{
let savedDayNum = defaults.integer(forKey: "dayClickNum")
let date = Date()
let calendar = Calendar.current
let nowDayNum = calendar.component(.day, from: date)
if(savedDayNum == nowDayNum)
{
getPointsOutlet.isEnabled = false
}
else
{
getPointsOutlet.isEnabled = true
}
}
else
{
getPointsOutlet.isEnabled = false
}
// 在函数中单击执行此操作
Total_Points += 12
pointsLabel.text = "Total Points: \(Total_Points)"
getPointsOutlet.isEnabled = false
let date = Date()
let calendar = Calendar.current
let dayOfClickDate = calendar.component(.day, from: date)
defaults.set(dayOfClickDate, forKey: "dayClickNum")
另外,为了获得完美的解决方案,您可能需要注意月份,因为用户可能在一个月内不会再次启动应用程序,如果存储的天数与另一个月的开放日重合,则可能会禁用该按钮
我要对按钮执行的操作是,一旦按下它,它将在一天的剩余时间内禁用。现在我的代码确实会在按下它后禁用它,但是如果用户离开应用程序并返回它,该按钮将再次启用。有没有办法使用 NSUserDefaults?
let save = UserDefaults.standard
let calendar = Calendar.current
let now = Date()
这是在 viewDidLoad 中:
let seven_today = calendar.date(
bySettingHour: 7,
minute: 0,
second: 0,
of: now)!
let two_thirty_today = calendar.date(
bySettingHour: 14,
minute: 30,
second: 0,
of: now)!
if now >= seven_today && now <= two_thirty_today
{
getPointsOutlet.isEnabled = true
}
else
{
getPointsOutlet.isEnabled = false
}
这是按下按钮的功能:
Total_Points += 12
pointsLabel.text = "Total Points: \(Total_Points)"
getPointsOutlet.isEnabled = false
试试这个:
if now >= seven_today && now <= two_thirty_today
{
let savedDayNum = defaults.integer(forKey: "dayClickNum")
let date = Date()
let calendar = Calendar.current
let nowDayNum = calendar.component(.day, from: date)
if(savedDayNum == nowDayNum)
{
getPointsOutlet.isEnabled = false
}
else
{
getPointsOutlet.isEnabled = true
}
}
else
{
getPointsOutlet.isEnabled = false
}
// 在函数中单击执行此操作
Total_Points += 12
pointsLabel.text = "Total Points: \(Total_Points)"
getPointsOutlet.isEnabled = false
let date = Date()
let calendar = Calendar.current
let dayOfClickDate = calendar.component(.day, from: date)
defaults.set(dayOfClickDate, forKey: "dayClickNum")
另外,为了获得完美的解决方案,您可能需要注意月份,因为用户可能在一个月内不会再次启动应用程序,如果存储的天数与另一个月的开放日重合,则可能会禁用该按钮