B16-iOS開發中的幾種儲存方式

來源:互聯網
上載者:User

標籤:

一、NSUserDefault(喜好設定,Preference)

       小規模資料,弱業務相關資料使用。例:某個UISwitch的狀態。

二、File(檔案儲存體)

      檔案儲存體包括了Plist、archive、Stream等方式,一般結構化的資料或者需要方便查詢的資料,都會以Plist的方式去持久化。 Archive方式適合儲存平時不太經常使用但很大量的資料,或者讀取之後希望直接對象化的資料,因為Archive會將對象及其對象關係序列化,以至於 讀取資料的時候需要Decode很花時間,Decode的過程可以是解壓,也可以是對象化,這個可以根據具體 <NSCoding>中的實現來決定。Stream就是一般的檔案儲存體了,一般用來存存圖片啊啥的,適用於比較經常使用,然而資料量又不算非常大的那種。      1、plist(XML屬性列表,本質是XML)           主要儲存NSArray\NSDictionary\NSString\BOOL等等類型,(儲存自訂對象需要用 archive)。plist檔案一般存在沙箱。            沙箱下檔案夾詳解            1》Documents檔案夾                 檔案夾路徑:/Users/使用者名稱/Library/ Developer/CoreSimulator/Devices/模擬器UDID/data/Documents                 Documents:只能儲存由應收程式產生的相關資料,不能儲存從網路下載的資料,否則會拒絕上架。因為Documents目錄中的所有內容會自動備份在iCloud中。可以儲存遊戲存檔等。            2》Library檔案夾                 /Users/使用者名稱/Library/ Developer/CoreSimulator/Devices/模擬器UDID/data/Library                 Cache檔案夾:緩衝目錄,儲存應用運行時產生的需要持久化的資料,可以儲存從網路下載的資料,同時希望在此使用的檔案。不會備份該目錄。一般儲存體積大、不需要備份的非重要資料。如果在Cache中儲存了檔案,需要提供清除緩衝的功能。                 Preferences檔案夾:使用者偏好的專屬目錄,儲存應用的所有喜好設定。平時使用[NSUserDefault standardDefault]儲存,iTunes同步裝置時會備份該目錄。(快速儲存一些重要的簡單的檔案在這裡,本質也是plist儲存,比plist儲存稍方便)。            3》Tmp檔案夾                  檔案夾路徑:/Users/使用者名稱/Library/ Developer/CoreSimulator/Devices/模擬器UDID/data/tmp                 臨時目錄,儲存應用運行時所需的臨時資料,重新啟動就會被清除,儲存空間吃緊也可能會被系統清除。tmp目錄檔案不會被備份,清理也不需要程式員關心。                 * lastPathComponent 從路徑中取出最後的組成部分,通常就是檔案名稱                註:一般儲存在 Documents。(使用者帳號,登陸狀態token)      2、archive(NSCoding)           歸檔解檔,NSKeyedArchiver\NSkeyedUnarchiver          一次性寫入所有資料          一次性讀取所有資料          不可以分批讀取,有效能問題。      3、Stream        4、等

三、KeyChain

       KeyChain是蘋果提供的帶有可逆加密的儲存機制。普遍用在各種存密碼的需求上。另外,由於App卸載只要系統不重裝,Keychain中的資料依舊 能夠得到保留,以及可被iCloud同步的特性,大家都會在這裡儲存使用者唯一標識串。所以有需要加密、需要存iCloud的敏感小資料,一般都會放在 Keychain。  四、基於資料庫       主要是便於增刪改查,
  • Core Data
          (xmpp)沒用過
    • FMDB(SQLite3)
  

B16-iOS開發中的幾種儲存方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.