2011-03-22 58 views
0

我讀過the Apple doc about Preferences,但這對我來說還是有點複雜。我有一個應用程序用於設置首選項的自定義屏幕,我想只是代碼來管理讀取和寫入的東西。iPhone - 閱讀和保存偏好

你知道一個詳細的教程(幾年前沒有寫過)或一個項目示例代碼,我可以讀懂明白嗎?

+0

不知道這你問:你想建立一個設置捆綁喜歡在你的網頁鏈接,或者只是存儲在應用程序內的偏好?如果是後者,那麼這是一件容易的事情。 – 2011-03-22 12:41:00

+0

@Jordan:我假設要管理首選項的顯示方式。我只是想能夠讀取和寫入首選項文件。 – Oliver 2011-03-22 13:08:22

回答

6

你應該使用NSUserDefaults的:

你設置這樣的:

 NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 

那麼你可以設置這樣的新對象:當你需要讀取值

[defaults setBool:YES forKey:@"bools"]; 
    [defaults setObject:[NSNumber numberWithInt:14] forKey:@"numbers"]; 
    [defaults setFloat:60.0 forKey:@"floats"]; 
    [defaults setObject:@"simple string" forKey:@"strings"]; 
    [defaults setObject:[NSDate date] forKey:@"dates"]; 

你可以使用:

NSUInteger integerFromPrefs = [defaults integerForKey:@"integers"]; 
    BOOL boolFromPrefs = [defaults boolForKey:@"bools"]; 
     NSString *stringFromPrefs = [defaults objectForKey:@"bools"]; 
     etc... 

記得每次更改後,將更改同步:

[defaults synchronize]; 

BTW

您可以閱讀和在應用程序的任何觀點寫NSUserDefaults的。

編輯

要查看所有數據在您NSUserDefaults的可以使用:

NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]); 

這將打印存儲在plist中的所有鍵和值。

GOOD LUCK

+0

@shani:我需要寫一個plist文件嗎? – Oliver 2011-03-22 13:21:14

+1

否NSUserDefaults是「內置」plist,您可以在不創建任何內容的情況下使用它。只需按照我發佈的步驟和實際所有。 – shannoga 2011-03-22 13:22:54

+0

@shani:我可以在哪裏找到書面文件(當在模擬器上運行時,或者我沒有選擇的iPhone,例如運行相機應用程序時)? – Oliver 2011-03-22 13:25:55