2010-08-06 52 views

回答

1

你會想要做這樣的事情:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSInteger counter = [defaults integerForKey:@"counterKey"]; 
counter++; 
[defaults setInteger:counter forKey:@"counterKey"]; 

這也適用,如果鑰匙從未被註冊。 integerForKey將返回0,這實際上是我們想要的。但是,如果您想要更安全,可以事先檢查。通過一些二線這樣後:

NSInteger counter = 0; 
if ([defaults objectForKey:@"counterKey"] != nil) 
    counter = [defaults integerForKey:@"counterKey"]; 
+0

多數民衆贊成在非常有用的感謝。還有一個問題,是standardUserDefaults中的整數缺省值爲零? – SammmyC 2010-08-07 01:39:02

+0

我問的原因是我希望整數在第一次打開時爲零,並在每次後續打開時增加它.thx – SammmyC 2010-08-07 01:55:55

+0

在使用上面的代碼讀取值之前,您需要先註冊值0。查閱以下文檔: - (void)registerDefaults:(NSDictionary *)dictionary – 2010-08-07 03:20:54

1

將整數存儲在NSUserDefaults中。該文檔是here

1

雖然你可能使用NSUserDefaults方式是不是最完美的解決方案。

默認是一個地方保持應用程序設置不適用數據。一個很好的指導方針是將您的數據項目視爲出現在您的應用程序設置中,以及它是否在那裏有效。在你的情況下,應用程序打開的次數不是用戶設置;它不是用戶能夠改變的東西,是嗎?

更好的辦法是將數據寫入plist,這是一種簡單而快速的存儲應用程序數據的方式。例如,看看here的說明(還有其他可用的快速搜索),這應該讓你開始。

相關問題