iOS 物件持久化之 歸檔 archiving

2021-06-16 08:40:40 字數 481 閱讀 1657

在理解歸檔之前,首先要理解物件圖(object graph)的概念,物件圖就是物件之間經由指標等關係鏈結在一起形成的物件之間的關係圖。

我們需要將這個物件體系或其部分物件持久化儲存到檔案中,在以後某時刻從檔案中恢復出來之前的物件體系,這就是持久化要達成的目標。cocoa中已經實現了兩種用於持久化的檔案型別,就是nib檔案和property list檔案。

這兩種檔案對於要持久化到檔案中的物件型別都有嚴格要求,不適合用於自定義物件的持久化,而歸檔archive技術則是用於自定義物件持久化的不錯的選擇。

要支援歸檔,物件必須遵守並實現nscoding協議,該協議有兩個方法組成。乙個用於將物件的屬性歸檔到檔案,而另乙個用於從檔案中恢復歸檔的屬性值並初始化物件的屬性。

基本資料型別nsarray, nsdictionary, nsstring, nsdata, nsdate, nsnumber, nsdata以及相應的可變版本,大部分uikit物件已經支援nscoding,可以進行歸檔。

iOS資料持久化之歸檔

ios的資料持久化的寫入只支援4種基本型別,並且nsarray,與nsdictionary裡面存的資料也必須是這四種基本型別,那麼如果我們要將物件等寫入到沙盒中我們應該怎麼做呢?下面我們來共同學習一下 在處理這一類的問題時,我們運用的是歸檔的方法來實現的 歸檔的實質就是將資料型別轉換成nsdata型...

IOS之資料持久化(歸檔與反歸檔)

物件歸檔的檔案是保密的磁碟上無法檢視檔案中的內容,而屬性列表是明文的可以檢視 物件歸檔有兩種方式 1 對foundat中物件進行歸檔 乙個檔案只能儲存乙個物件 2 自定義物件歸檔 可以儲存多個物件 下面是自定義歸檔 類的.h檔案中遵守協議 宣告三個物件 import inte ce student ...

iOS資料持久化 歸檔

歸檔 序列化 把物件轉為位元組碼,以檔案的形式儲存到磁碟上 程式執行過程中或者當再次開啟程式的時候,可以通過解歸檔 反序列化 還原這些物件。只要遵循了nscoding協議的物件都可以通過它實現序列化,由於絕大多數支援儲存資料的foundation和cocoa touch類都遵循了nscoding協議...