0
只是製作一個基本的遊戲,並使用NSUserDefaults來保存高分。同時調用我需要使用格式爲「最佳時間:%i」的NSString。我在模擬器上運行遊戲,並且完美運行。NSString格式不能在設備上工作,但在模擬器上工作
但是,當我去設備上運行它時,我使用NSString(格式「最佳時間:%i」格式化)的標籤沒有工作沒有出現在標籤中?
這裏是我用來調用保存的最佳時間代碼:
//The previous games best time
var highscoreDefaults = NSUserDefaults.standardUserDefaults()
if (highscoreDefaults.valueForKey("Highscore") != nil){
theNewTime = highscoreDefaults.valueForKey("Highscore") as! NSInteger!
thehighscore.text = NSString(format: "Best Time : %i" , theNewTime) as String
}
// ---------------------
如果'highscoreDefaults.valueForKey(「排行榜」)'做什麼'等於nil'?另外,您應該使用'objectForKey()',而不是'valueForKey()'來測試是否有條目。並且,如果存在,則應該使用'integerForKey()'獲取整型值,而不是'valueForKey()'和'objectForKey()'將其轉換爲'NSInteger'。 –
謝謝我交換了它們,但它仍然有相同的問題,它在模擬器上工作,但不在設備上。很煩人。 –
修改您的問題以顯示您當前的代碼,包括如果「Highscore」的默認值中沒有對象,您將執行哪些操作。 –