保存自定義類型數(shù)據(jù)的方法

保存自定義類型數(shù)據(jù)的方法

通常, 我們保存沒那么多的數(shù)據(jù)的時候, 采用的是NSUserdefault的方式來保存,
但這樣會有一個缺點, 就是通過這種方式儲存的數(shù)據(jù)類型必須是基本的數(shù)據(jù)類型,
例如NSArray, NSDictionary, NSNumber等, 如果我們需要儲存自己定義的一個類的數(shù)據(jù)的時候那么怎么辦呢? 這時候的方法就是使用NSCoding了.
我們來簡單的歸納一下NSCoding的使用步驟

  1. 讓自定義的類(就是需要被儲存的類)遵守NSCoding協(xié)議 注意是NSCoding, 不是NSCoping
  2. 編碼:在
    - '' (void)encodeWithCoder:(NSCoder *)aCoder
    里對需要保存的屬性使用方法encodeObject: forKey:來進(jìn)行賦值
    3.解碼: 在
  • '' (instancetype)initWithCoder:(NSCoder *)aDecoder
    里對保存的屬性進(jìn)行解碼, 使用的方法為 decodeObjectForKey: 來進(jìn)行解碼
  1. 歸檔:然后需要做的就是控制器或者需要的地方像使用NSUSerdefault一樣使用了
    歸檔的時候使用[NSKeyedArchiver archivedDataWithRootObject:] 參數(shù)寫自定義類.
    解檔:解檔的時候使用 [NSKeyedUnarchiver unarchiveObjectWithData:] 參數(shù)寫自定義類.

這個就是簡單的使用方法了, 這里只做個人心得的記錄, 并沒有用很完善的方式闡述, 并不適合做他人的參考

以上

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容