參考資料: html
1:使用Keychain存儲用戶敏感信息 數據庫
http://blog.csdn.net/tianyitianyi1/article/details/7643365 後端
2:NSUserDefaults簡介及使用 框架
http://qing.blog.sina.com.cn/2739139371/a343f32b33001kpq.html 函數
介紹: 優化
1: KeyChain atom
KeyChain是用於在iOS中存儲敏感信息時的一個推薦型方案.
若是直接使用其API,仍是很是繁瑣的,爲此網上已經有牛人,對此其API進行了封裝,咱們學會使用就好了.
兩部操做便可:
第一步:引入系統框架文件
Security.framework
第二步:導入開源框架
SFHFKeychainUtils
參考連接中有源代碼下載地址,這裏就不提供了,
那麼我這裏提供一個 我使用事後的一個優化版:
Demo
使用很是簡單, 4個方法:添加,刪除,查詢,查詢所有
注:
KeyChain的信息存儲不會由於App的被刪除而丟失數據,這個有點相似
Windows的註冊表的概念差很少.
2:Property List (熟稱的Plist)
Property List是在App裏面存儲一些較爲簡單且零散的鍵值對的一個推薦型方法
如下代碼 分別用於建立或修改Property List文件內部值: spa
- //經過文件路徑獲取
- NSMutableDictionary *attachmentInfoDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:attachmentInfoPathString];
- //判斷是否成功從指定的路徑中取到Plist 文件,若是沒有,則實例化一個新的供寫入
- if (attachmentInfoDictionary == nil) {
- attachmentInfoDictionary = [[NSMutableDictionary alloc] init];
- }
- [attachmentInfoDictionary setObject:@"值" forKey:@"鍵"];
- NSLog(@"%@",attachmentInfoDictionary);
- //返回是否寫入成功 可是須要確保指定的路徑結構存在,不然確定失敗
- [attachmentInfoDictionary writeToFile:attachmentInfoPathString atomically:NO];
- [attachmentInfoDictionary release];
3:NSUserDefaults
NSUserDefaults是系統級
Property List文件,裏面存儲一些App配置參數,固然,咱們也能夠加一些本身的值進行,用戶和
Property List幾乎同樣
1:查詢
NSUserDefaults 裏面所有存儲的值,這裏面能夠看到咱們開發時存儲的:
- [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]
2:當對
NSUserDefaults
修改的值之後,須要調用同步函數實現數據持久化
- [[NSUserDefaults standardUserDefaults] synchronize];
4:Core Data
Core Data是對SQLite的封裝,以面向對象的方式與本地數據庫進行數據交互
5:StackMob
StackMob是專爲移動App打造的後端雲存儲解決方案,是博主大力推薦使用的
Baas平臺
6:SQLite
SQLite 的使用參考FEDM
http://blog.csdn.net/ysy441088327/article/details/8025624