IOS應用開發,plist方式保存數據以及Preferences方式保存數據

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"];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章