詳解在swift中實(shí)現(xiàn)NSCoding的自動(dòng)歸檔和解檔
本篇文章主要介紹了在swift中實(shí)現(xiàn)NSCoding的自動(dòng)歸檔和解檔,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
1.OC中
屬性比較少的話 ,可以一個(gè)屬性一個(gè)屬性的去實(shí)現(xiàn),但是假如多的話就利用runtime,很容易的就實(shí)現(xiàn)了NSCoding的自動(dòng)歸檔和解檔。
當(dāng)然我們可以直接調(diào)用MJExtension的一個(gè)宏定義,并且調(diào)用NSCoding代理,就一句話就可以實(shí)現(xiàn)了。
2.swift
我們沒(méi)辦法去調(diào)用MJExtension的宏定義,但是我們可以調(diào)用MJExtension去實(shí)現(xiàn)里面的方法:
下面就是源代碼
class BaseModel: NSObject,NSCoding{ //父類的init方法是必須去實(shí)現(xiàn)的 override init() { super.init() } required convenience init?(coder aDecoder: NSCoder) { self.init() self.mj_decode(aDecoder) } func encode(with aCoder: NSCoder) { self.mj_encode(aCoder) } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解析Swift語(yǔ)言面相對(duì)象編程中的繼承特性
這篇文章主要介紹了解析Swift語(yǔ)言面相對(duì)象編程中的繼承特性,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11RxSwift學(xué)習(xí)教程之類型對(duì)象Subject詳解
這篇文章主要給大家介紹了關(guān)于RxSwift學(xué)習(xí)教程之類型對(duì)象Subject的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧。2017-09-09SwiftUI智能家居開(kāi)關(guān)燈頁(yè)面搭建示例
這篇文章主要為大家介紹了SwiftUI智能家居開(kāi)關(guān)燈頁(yè)面搭建示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08swift 3.0中實(shí)現(xiàn)字符串截取、比較的方法示例
時(shí),為了使用現(xiàn)有的字符串生成一個(gè)新的字符串,我們可以使用截取字符串的方法實(shí)現(xiàn)。下面這篇文章主要給大家介紹了關(guān)于swift 3.0中實(shí)現(xiàn)字符串截取的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒。2017-10-10