1. 程式人生 > >NSUserDefaults standardUserDefaults使用注意事項

NSUserDefaults standardUserDefaults使用注意事項

NSUserDefaults可以儲存NSString,NSNumber, NSDate, NSArray, NSDictionary,自定義類可以通過NSData的方式進行儲存,當然要實現NSCoding這個protocol才行,NSObject<NSCoding>

1.  系統會儲存到該應用下的/Library/Preferences/gongcheng.plist檔案中。需要注意的是如果程式意外退出,NSUserDefaultsstandardUserDefaults資料不會被系統寫入到該檔案,所以,要使用[[NSUserDefaultsstandardUserDefaults] synchronize]命令直接同步到檔案裡,來避免資料的丟失。

2.  所有的從NSData讀出的資料,都是unmutable的。所以,如果要改變請duplcated.

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:value forKey:key];

[defaults synchronize];