iOS開發 如何將 Array 儲存在本地

2021-09-20 06:06:04 字數 705 閱讀 2741

常用的方法是這個

func  writetofile(path:string, atomically useauxiliaryfile:bool) ->bool

然而 writetofile 這個函式卻只屬於 nsarray

假如我自定義了乙個person類來寫人,然後用陣列來儲存person物件,那麼我將把這個陣列初始化為

let personarray :[person] = [person]()

這時,這個 personarray 就只能是 array,而不是 nsarray。

想要把它儲存在本地plist檔案中,需要用到nskeyedarchivernskeyedunarchiver

但是在此之前,你需要把你的類改造一下。

起初的類

需要加入的內容

你需要在你的類中實現 encode function,實現起來也很簡單,見上圖。而一旦 encode 方法被實現,nskeyedarchivernskeyedunarchiver馬上就被「解鎖」並可以替代 writetofile 方法啦!

將peoplearray儲存到本地plist

將peoplearray從本地plist中取出

附上我在 stackoverflow 上的相關討論

陣列Array屬性和方法 如何將偽陣列轉換為陣列

陣列的屬性 length 獲取陣列的長度 constructor 返回建立陣列物件的原型函式 prototype 向陣列物件新增屬性或方法。陣列的方法 concat 連線兩個或更多的陣列,並返回結果 join 把陣列的所有元素放入乙個字串。pop 刪除陣列的最後乙個元素並返回刪除的元素。push 向...

如何將iOS應用發布到App Store詳解

系統資訊 mac os x 10.8.4 xcode 4.6.3 2.進入itunes connect 6.然後是選擇專案 和日期 7.接下來的頁面要填寫專案的完整資訊 頁面比較大,四張截圖 這個一般全部選擇none 此處上傳的都是在ituns中展示所用的。3.5 inch的尺寸是960 640或者...

如何將陣列儲存在Redis雜湊中

有兩種方法 1.把要存的陣列序列化 或者 json encode後 變成字串再存。取的時候 反串行號或者json decode處理成陣列。2.可以使用hash結構,以key作為1維,以hash中的field作為第二維。redis 如何操作多維陣列?1.redis用list這種一維陣列來模擬二維。2....