我的iPhone應用程序有幾個設置,用戶可能經常更改。我想知道是否有任何建議的方式來處理這些設置(閱讀並保存它們)。在Apple網站上,我只找到了關於將應用程序設置與設置應用程序集成在一起的教程(link),但我不希望用戶退出我的應用程序,以便他可以更改選項。在應用程序中存儲iPhone應用程序設置
是否有任何默認機制來處理應用程序本身的這些設置,還是我必須實現我自己的解決方案?
我的iPhone應用程序有幾個設置,用戶可能經常更改。我想知道是否有任何建議的方式來處理這些設置(閱讀並保存它們)。在Apple網站上,我只找到了關於將應用程序設置與設置應用程序集成在一起的教程(link),但我不希望用戶退出我的應用程序,以便他可以更改選項。在應用程序中存儲iPhone應用程序設置
是否有任何默認機制來處理應用程序本身的這些設置,還是我必須實現我自己的解決方案?
在iPhone中存儲設置的最佳和最簡單的方法是通過NSUserDefaults
。讓您不必處理文件系統或plists或其他任何東西。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *storedVal = @"This is what you want to save";
NSString *key = @"storedVal"; // the key for the data
[defaults setObject:storedVal forKey:key];
[defaults synchronize]; // this method is optional
// Get the results out
NSString *results = [defaults stringForKey:key];
這裏就是蘋果說的類型,您可以在默認存儲對象
默認的對象必須是一個屬性 名單,也就是(或 集合一個實例的組合實例 ):NSData,NSString,NSNumber, NSDate,NSArray或NSDictionary。如果 要存儲任何其他類型的 對象,則通常應將其存檔 它來創建NSData的實例。
還有一些警告,如果你存儲NSDictionary的鍵值必須是字符串。
從iPhone Developer Connection中閱讀File and Networking Guide。它將解釋如何獲取應用程序沙箱中不同預定義位置的路徑。我建議你使用NSDictionary來存儲你的首選項,這些首選項可以很容易地保存到文件系統並轉換成plist。
如果你正在尋找從內部應用程序編輯設置的UI,在http://www.inappsettingskit.com
退房InAppSettingsKit是否有可能存儲的其他類型的值,然後'NSString'像數字或日期? – RaYell 2010-02-09 11:02:16
是的,我更新了我的答案 – kubi 2010-02-09 11:24:41
感謝隊友,這是我想聽到的那種答案。 – RaYell 2010-02-09 11:35:56