2011-06-14 31 views
-2

的對象我使用NSUserDefaults的如下可以NSUserDefaults的攜帶

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    BOOL downloaded = [prefs boolForKey:@"downloaded"]; 


    if (! downloaded) { 


     [self MoveAndBuild ]; 

     [prefs setBool:YES forKey:@"downloaded"]; 


     //////////// Write to the file to prevent re import at the next time . 





    } 

我的問題是可以NSUserDefaults的攜帶類的對象,我的意思是我有一個類和想要保存它的目的是充當默認適用, 另一個問題可以存儲NSUserDefaults的NSString的

任何建議請

+6

你看過[NSUserDefaults]文檔(http://tinyurl.com/5rgrlbj)嗎?我問,因爲概覽部分的第三段回答你的問題,並指出你更多的信息。 – Caleb 2011-06-14 06:55:26

+0

問題出在編碼部分看到答案,不要判斷 – AMH 2011-06-14 07:52:03

回答

2

我們使用NSUserDefaults的存儲對象,並且對象可以是任何類型的i:電子的NSString,NSArray的,類對象等 ,用於存儲你可以使用:

[defaults setObject:anyObject forkey:@"objectKey"]; 
+0

開發者「一個對象可以是任何類型」你的答案部分是不正確的。請編輯你的答案。 – Tatvamasi 2011-06-30 00:12:14

0

NSUserDefaults的可存儲(並且僅存儲)的plist對象。請參閱http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/UserDefaults/UserDefaults.html以編程NSUserdefaults。

+0

什麼是plist對象? – vikingosegundo 2011-06-29 18:43:08

+0

啊我看到:屬性列表可以存儲的對象。無論如何:這個答案是錯誤的。正如[Jhaliya](http://stackoverflow.com/questions/6340031/nsuserover- defaults-question/6340092#6340092)指出的,任何符合NSCoding的對象都可以存儲。 – vikingosegundo 2011-06-29 19:00:53

+0

@vikingosegundo「NSUserDefaults類只支持可以序列化到屬性列表的對象的存儲,這種限制似乎從用戶默認系統中排除了許多種對象,比如NSColor和NSFont對象,但是如果對象符合NSCoding協議,它們可以歸檔爲NSData對象,它們是屬性列表兼容的對象「摘錄自文檔。即使NSCoding投訴,也沒有直接存儲非plist對象的方法。您需要將其歸檔以獲取NSData,這是一個兼容plist的對象。 – Tatvamasi 2011-06-30 00:09:51