1. 程式人生 > >OC資料儲存

OC資料儲存

iOS中的資料儲存(上)

iOS應用資料儲存的常用方式:

    1> XML屬性列表(plist)歸檔.

    2> Preference(偏好設定).

    3> NSKeyedArchiver歸檔.

    4> SQLite3

    5> Core Data

應用沙盒:

    每個iOS應用都有自己的應用沙盒(應用沙盒就是檔案系統目錄)與其他檔案系統隔離.應用必須待在自己的沙盒裡,其他應用不能訪問該沙盒.

    模擬器應用沙盒的根路徑在: (apple是使用者名稱, 6.0是模擬器版本)

    /Users/apple/Library/Application Support/iPhone Simulator/6.0/Applications

或者:/Users/使用者名稱/資源庫/Application Support/iPhone Simulator/6.1/Applications

注意:

    預設情況下,模擬器的目錄是隱藏的,要想顯示出來,需要在Mac終端輸入下面的命令:

    顯示Mac隱藏檔案的命令:defaults write com.apple.finder AppleShowAllFiles YES

    隱藏Mac隱藏檔案的命令:defaults write com.apple.finder AppleShowAllFiles NO

應用沙盒結構分析

Documents:

    儲存應用執行時生成的需要持久化的資料,iTunes同步裝置時會備份該目錄.例如遊戲應用可將遊戲存檔儲存在該目錄.

temp:

    儲存應用執行時所需的臨時資料,使用完畢後再將相應的檔案從該目錄刪除.應用沒有執行時,系統也可能會清除該目錄下的檔案.iTunes同步裝置時不會備份該目錄.

Library/Caches:

    儲存應用執行時生成的需要持久化的資料,iTunes同步裝置時不會備份該目錄.一般儲存體積大,不需要備份的非重要資料.

Library/Preference:

    儲存應用的所有偏好設定,iOS的setting(設定)應用會在該目錄中查詢應用的設定資訊.iTunes同步裝置時會備份該目錄.

應用沙盒目錄的常見獲取方式:

沙盒根路徑:

?
1 NSString *home = NSHomeDirectory();

Documents:(2種方式)

    1> 利用沙盒根目錄拼接"Documents"字串:

?
1 2 3 NSString *home = NSHomeDirectory(); NSString *documents = [home stringByAppendingPathComponent:@"Documents"]; // 不建議採用,因為新版本的作業系統可能會修改目錄名

    2> 利用NSSearchPathForDirectoriesInDomains函式:

?
1 2 3 4 5 // NSUserDomainMask 代表從使用者資料夾下找 // YES 代表展開路徑中的波浪字元“~” NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, NO); // 在iOS中,只有一個目錄跟傳入的引數匹配,所以這個集合裡面只有一個元素 NSString *documents = [array objectAtIndex:0];

tmp: 

?
1 NSString *tmp= NSTemporaryDirectory();

Library/Catches:(跟Documents類似的兩種方法)

    1> 利用沙盒跟目錄拼接"Catches"字串.

    2> 利用NSSearchPathForDirectoriesInDomains函式(將函式的第一個引數改為:NSCachesDirectory即可).

Library/Preference:通過NSUserDefaults類存取該目錄下的設定資訊.

    下面分別詳細介紹5中資料存數方式.

屬性列表

    屬性列表是一種XML格式的檔案,拓展名為plist.

    如果物件是NSString, NSDictionary, NSArray, NSData, NSNumber等型別,就可以使用:writeToFile:atomiclly:方法直接將物件寫到屬性列表檔案中.

屬性列表-歸檔NSDictionary

    將一個NSDictionary歸檔到一個plist屬性列表中.

?
1 2 3 4 5 6 // 將資料封裝成字典 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:@"15013141314" forKey:@"phone"];

相關推薦

OC資料儲存本地(一)-----iOS----NSUserDefaults 儲存 清空

具體來說NSUserDefaults是iOS系統提供的一個單例類(iOS提供了若干個單例類),通過類方法standardUserDefaults可以獲取NSUserDefaults單例 常見到的輕量

OC資料儲存

iOS中的資料儲存(上) iOS應用資料儲存的常用方式:     1> XML屬性列表(plist)歸檔.     2> Preference(偏好設定).     3> NSKeyedArchiver歸檔.

OC資料儲存本地(二)-----iOS----屬性列表plist 寫如何儲存和讀取

屬性列別 plist檔案:這個檔案可以儲存陣列,可以吧陣列中的元素儲存這個檔案中 將陣列的資訊,儲存到plist檔案中,就會將陣列的所有元素儲存到這個檔案中  - (BOOL)writeToF

Python——資料儲存:JSON操作

  JSON格式的資料格式廣泛使用在各種應用中,比XML格式更輕量級,所以現在很多應用都選擇JSON格式儲存資料,尤其是需要通過網路傳輸(如socket傳輸)資料時,這對於移動應用更具有優勢。JSON格式資料比XML格式的資料量更小,所以傳輸速度更快,也更節省資料流量(省錢),因此,在移動APP應用中,幾乎都

Hive資料儲存的模式

一、Hive資料的兩種型別        Hive的資料分為表資料和元資料,表資料是Hive中表格(table)具有的資料;而元資料是用來儲存表的名字,表的列和分割槽及其屬性,表的屬性(是否為外部表等),表的資料所在目錄等。 二、Hive的資料儲存

React-Native開發七 react-navigation之AsyncStorage資料儲存

1 前言 我們都知道,在Android和IOS中分別有不同的持久化資料方式,例如Android中的檔案,資料庫,SharePrefences等。AsyncStorage是一個簡單的key-value儲存系統,是RN官方推薦的。它儲存的都是String型別的資料,是一個RN中輕量級的資

簡單知識點例項之一:如何將各個單一獲取的資料儲存為陣列物件並將其取出

一、將獲取的值存為陣列或陣列物件 (1)存為陣列(例如所有怪物的id值可以存為陣列) 是以逗號隔開的,建議用到存單個特定值時用(如光存id值時) <!DOCTYPE html> <html lang="en"> <head> <

Android學習------資料儲存sharePreference類

實現記錄自動登入和密碼 1 . 編輯佈局檔案 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/re

11.1 js中級,資料型別、資料儲存方式、作用域記憶體空間的區別以及例識別。

一. 基本資料型別和引用資料型別的區別。     1.基本資料型別:基本資料型別就是簡單的操作值。     2.引用資料型別:就是把引用的地址賦給變數。   堆記憶體:     就是存放程式碼塊的,存放形式有兩種       1)物件以鍵值對的形式存放       2)引用資料型別的賦值,是把引用

Android資料儲存五種方式

https://www.cnblogs.com/ITtangtang/p/3920916.html SharedPreferences的基本使用-----存,刪,改,查:https://www.cnblogs.com/qianzf/p/7582400.html Android Sha

bind資料儲存—Berkeley DB

這裡還需要講一個資訊,就是bind的資料是通過怎樣的方式組織起來的,Bind通過Berkeley DB的方式組織資料的,它是一個開源的檔案資料庫軟體,介於關係資料庫和記憶體資料庫之間,使用方式和記憶體資料庫類似,提供一系列可以直接訪問資料庫的函式,它可以儲存任意型別的鍵值對   它

爬蟲資料儲存為csv檔案時,表格中間隔有空行問題

問題描述:將爬取的資料儲存的csv檔案,遇到幾個問題,原始碼如下: with open('F:\\Pythontest1\\douban.csv','w') as f: writer = csv.writer(f,dialect='excel') writer.writero

Centos7下mysql5.6.26改變資料儲存路徑

mysql5.6.26採用rpm包安裝之後,mysql的資料儲存路徑為/var/lib/mysql。 檔案列表如下: 其中資料夾mysql、performance_schema、test是安裝mysql時自動增加的資料庫資料檔案。如果/var/lib的儲存空間太小,則需要我們遷移資料庫

雲時代的大資料儲存-雲HBase

為什麼 縱觀資料庫發展的幾十年,從網狀資料庫、層次資料庫到RDBMS資料庫,在最近幾年的NewSQL的興起,加上開源的運動,再加上雲的特性,可以說是日新月異。在20世紀80年代後,大部分的業務確定使用RDBMS資料為儲存基礎。新世紀開始,隨著網際網路的發展,資料量的增大,慢慢RDBMS資料庫撐不住,就出

Android 資料儲存之 SQLite資料庫儲存

轉載自:https://www.cnblogs.com/woider/p/5136734.html ----------------------------------------SQLite資料庫---------------------------------------------- SQLite是一

讀取blob型別圖片資料 儲存到本地

如何將blob型別資料的圖片資料從資料庫中讀取出來,並儲存到本地呢? 程式碼如下: 定義一個實體類: public class IdeaImgOutVo { private byte[] photo;//圖片 private String plNO;//手冊編碼

如何做資料儲存架構技術選型?(關於儲存的一些好文轉載--4)

在網際網路應用中,資料爆發式的增長,實際上軟體架構的本質就是對資料的維護。對資料的操作可以歸納為三類:讀、寫和檢索。 隨著網站的流量越來越大,資料量也爆發式的增長,網站響應越來越慢,伺服器經常宕機。傳統的關係型資料庫已經不能滿足流量和資料的爆發式增長。於是根據不同的業務需求,出現了很多不同的資料

Django中資料儲存資料加密功能

1、cookie 1、會話技術 2、客戶端的會話技術(資料儲存在瀏覽器上 ) 3、問題 導致原因:在web應用中,一次網路請求是從request開始,到response結束,跟以後的請求或者跟其他請求沒有關係 (導致每次請求之間的資料沒有關係(短連線、長連結)) 解決:在

HTML5中的資料儲存

1.初始WebStorage 2.使用WebStorage中的API      一.什麼是Web Storage     WebStorage功能就是在Web上儲存資料的功能,而這裡的儲存,是針對客戶端本地而言的。它包含兩種儲存型

最全iOS資料儲存方法介紹:FMDB,SQLite3 ,Core Data,Plist,Preference偏好設定,NSKeyedArchiver歸檔,Realm

專案準備運用的Core Data進行本地資料儲存,本來打算只寫一下Core Data的,不過既然說到了資料儲存,乾脆來個資料儲存基礎大總結! 本文將對以下幾個模組進行敘述。 沙盒 Plist Preference偏好設定 NSKeyedArchiver