设置播放器';iOS应用程序中的最佳时间是什么
我使用了用户默认值来节省玩家的最佳时间。现在,我只能通过使用下面的代码保存玩家上次玩的时间。我希望这段时间是最好的,只要它比前一段时间多(多)。谁能告诉我怎么做?谢谢你的帮助!谢谢设置播放器';iOS应用程序中的最佳时间是什么,ios,swift,Ios,Swift,我使用了用户默认值来节省玩家的最佳时间。现在,我只能通过使用下面的代码保存玩家上次玩的时间。我希望这段时间是最好的,只要它比前一段时间多(多)。谁能告诉我怎么做?谢谢你的帮助!谢谢 func setBestTime(with time:String){ let defaults = UserDefaults.standard defaults.set(time, forKey: "bestTime") } func getBestTime(
func setBestTime(with time:String){
let defaults = UserDefaults.standard
defaults.set(time, forKey: "bestTime")
}
func getBestTime(){
let defaults = UserDefaults.standard
if let time = defaults.value(forKey: "bestTime") as? String {
self.bestTimeLabel.text = "Best Time: \(time)"
}
}
首先,你应该把最好的时间存储为双倍时间,因为在这里做你想做的事情会容易得多。然后,您所要做的就是将存储的值与新值进行比较,以确定要存储的值:
func setBestTime(with time: Double){
let defaults = UserDefaults.standard
let previousBestTime = defaults.double(forKey: "bestTime")
defaults.set(time > previousBestTime ? time : previousBestTime, forKey: "bestTime")
}
func getBestTime(){
self.bestTimeLabel.text = "Best Time: \(UserDefaults.standard.double(forKey: "bestTime"))"
}
首先,你应该把最好的时间存储为双倍时间,因为在这里做你想做的事情会容易得多。然后,您所要做的就是将存储的值与新值进行比较,以确定要存储的值:
func setBestTime(with time: Double){
let defaults = UserDefaults.standard
let previousBestTime = defaults.double(forKey: "bestTime")
defaults.set(time > previousBestTime ? time : previousBestTime, forKey: "bestTime")
}
func getBestTime(){
self.bestTimeLabel.text = "Best Time: \(UserDefaults.standard.double(forKey: "bestTime"))"
}
我宁愿将时间存储为一个数字(如Int或Double)。这使您可以比较时间(很容易),这对您的目标很有用 此外,我建议您保持get和set函数的简单,而不是让它们也做一些与UI相关的事情 因此,get和set函数可以如下所示:
func setBestTime(with time: Double) {
let defaults = UserDefaults.standard
defaults.set(time, forKey: "bestTime")
}
func getBestTime() -> Double? {
let defaults = UserDefaults.standard
if let time = defaults.value(forKey: "bestTime") as? Double {
return time
}
return 0.0 // If there is no time stored, return some default value.
}
// Setup
let oldBest = getBestTime()
self.bestTimeLabel.text = "Best Time: \(oldBest)"
// After the player has played a game
// I assume you get the new time from somewhere
let newTime = ...
// Set new best if applicable
if newTime > oldBest {
// So, the player has a new best, let's save that
setBestTime(with: newTime)
// Make the UI display that new best time
self.bestTimeLabel.text = "Best Time: \(newTime)"
}
正如你所看到的,他们所做的一切都不比你从他们的名字中所期望的多或少
因此,现在您只想在新时间大于已保存时间时保存它。如何做到这一点,取决于您在其余代码中调用这些函数的位置。你可以这样做:
func setBestTime(with time: Double) {
let defaults = UserDefaults.standard
defaults.set(time, forKey: "bestTime")
}
func getBestTime() -> Double? {
let defaults = UserDefaults.standard
if let time = defaults.value(forKey: "bestTime") as? Double {
return time
}
return 0.0 // If there is no time stored, return some default value.
}
// Setup
let oldBest = getBestTime()
self.bestTimeLabel.text = "Best Time: \(oldBest)"
// After the player has played a game
// I assume you get the new time from somewhere
let newTime = ...
// Set new best if applicable
if newTime > oldBest {
// So, the player has a new best, let's save that
setBestTime(with: newTime)
// Make the UI display that new best time
self.bestTimeLabel.text = "Best Time: \(newTime)"
}
希望这能激励你 我宁愿将时间存储为数字(如Int或Double)。这使您可以比较时间(很容易),这对您的目标很有用 此外,我建议您保持get和set函数的简单,而不是让它们也做一些与UI相关的事情 因此,get和set函数可以如下所示:
func setBestTime(with time: Double) {
let defaults = UserDefaults.standard
defaults.set(time, forKey: "bestTime")
}
func getBestTime() -> Double? {
let defaults = UserDefaults.standard
if let time = defaults.value(forKey: "bestTime") as? Double {
return time
}
return 0.0 // If there is no time stored, return some default value.
}
// Setup
let oldBest = getBestTime()
self.bestTimeLabel.text = "Best Time: \(oldBest)"
// After the player has played a game
// I assume you get the new time from somewhere
let newTime = ...
// Set new best if applicable
if newTime > oldBest {
// So, the player has a new best, let's save that
setBestTime(with: newTime)
// Make the UI display that new best time
self.bestTimeLabel.text = "Best Time: \(newTime)"
}
正如你所看到的,他们所做的一切都不比你从他们的名字中所期望的多或少
因此,现在您只想在新时间大于已保存时间时保存它。如何做到这一点,取决于您在其余代码中调用这些函数的位置。你可以这样做:
func setBestTime(with time: Double) {
let defaults = UserDefaults.standard
defaults.set(time, forKey: "bestTime")
}
func getBestTime() -> Double? {
let defaults = UserDefaults.standard
if let time = defaults.value(forKey: "bestTime") as? Double {
return time
}
return 0.0 // If there is no time stored, return some default value.
}
// Setup
let oldBest = getBestTime()
self.bestTimeLabel.text = "Best Time: \(oldBest)"
// After the player has played a game
// I assume you get the new time from somewhere
let newTime = ...
// Set new best if applicable
if newTime > oldBest {
// So, the player has a new best, let's save that
setBestTime(with: newTime)
// Make the UI display that new best time
self.bestTimeLabel.text = "Best Time: \(newTime)"
}
希望这能激励你 谢谢你的帮助!谢谢你!谢谢你的帮助!谢谢你!