plist方式保存數據
- plist可以保存的類型爲數組與字典.
-
在介紹plist文件保存之前,先介紹幾個方法。
- NSHomeDirectory(); 該方法用來獲取我們ios文件在應用沙盒中的文件位置.
- NSTemporaryDirectory(); 該方法用來獲取我們ios文件在應用沙盒中的tmp文件夾位置.
- NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde); 該方法用來查找caches文件夾,因爲沒有直接的方法直接獲取到caches文件夾
保存
//定義一個數組對象. NSArray *arr = @[@"123", @1]; /** *NSUserDomainMask 代表在用戶的手機目錄上查找 *NSCachesDirectory 查找library/caches路徑 *返回值是一個數組. */ NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]; //拼接自己路徑,將要保存的數據存入arr.plist文件夾中. NSString *filePath = [cachePath stringByAppendingPathComponent:@"arr.plist"]; //寫入plist文件. [arr writeToFile:filePath atomically:YES];
讀取
//獲取caches文件夾.
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
NSUserDomainMask, YES)[0];
//獲取arr.plist文件路徑
NSString *filePath = [cachePath stringByAppendingPathComponent:@"arr.plist"];
//讀取文件
NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];
Preferences方式保存數據
- 相比plist方式保存數據來說,Preferences方式的優勢在於:
- 1.不需要關心文件名.
- 2.快速的鍵值對存取.
- Preferences 與 application 一樣,是一個單例.
保存
//獲取對象
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//保存對象
[defaults setObject:@"xmg" forKey:@"account"];
[defaults setObject:@"123" forKey:@"pwd"];
[defaults setBool:YES forKey:@"rmbPwd"];
讀取
//獲取對象
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//通過鍵值對獲取數據.
NSString *account = [defaults objectForKey:@"account"];