NSUserDefault使用方法

NSUserDefaults類提供了一個與默認系統進行交互的編程接口。NSUserDefaults對象是用來保存,恢復應用程序相關的偏好設置,配置數據等等。默認系統允許應用程序自定義它的行爲去迎合用戶的喜好。你可以在程序運行的時候從用戶默認的數據庫中讀取程序的設置。同時NSUserDefaults的緩存避免了在每次讀取數據時候都打開用戶默認數據庫的操作。可以通過調用synchronize方法來使內存中的緩存與用戶默認系統進行同步。

NSUserDefaults類提供了非常方便的方法來獲取常用的類型,例如floats,doubles,intergers,Booleans,URLs。所以一個NSUserDefaults的對象必須是屬性表,這也就是說我們可以存儲NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary這些實例。如果你想存儲其他類型的對象,你要將其歸檔並創建一個NSData來實現存儲。

從NSUserDefaults返回的值是不可改變的,即便是你在存儲的時候使用的是可變的值。例如你使用mutable string做爲“MyStringDefault”的值,當你做使用stringForKey:方法獲取的值,這個值仍然是不可變的。

NSUserDefaults是單例,同時也是線程安全的。

NSUserDefaults *default = [NSUserDefaultsstandardUserDefaults];

 standardUserDefaults返回NSUserDefaults對象。

[defaultobjectForKey:@"IS_CHECKED"]

objectForKey返回對象

integerForKey返回int類型


[tmp setObject:tosaveedString forKey:tosaveedKey]; 

setObject:保存數據

forKey:鍵值

NSDictionary* defaults = [[NSUserDefaultsstandardUserDefaults]dictionaryRepresentation];

dictionaryRepresentation返回所有元素以字典方式。

保存圖片例子:

保存圖片數據

UIImage *contactImage =contactImageView.image;

NSData *imageData =UIImageJPEGRepresentation(contactImage,100);

NSUserDefaults *defaults = [NSUserDefaultsstandardUserDefaults];

[defaults setObject:imageData forKey:@"image"];

[defaults synchronize];


讀取圖片數據

NSUserDefaults *defaults = [NSUserDefaultsstandardUserDefaults];

NSData *imageData = [defaultsdataForKey:@"image"];

UIImage *contactImage = [UIImageimageWithData:imageData];

contactImageView.image = contactImage;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章