在iOS開發(fā)中我們肯定會用到JSON和Model的轉(zhuǎn)換。iOS中原生支持的就是從字典映射到一個對象,KVC中有一個方法提供,這個方法就是 setValuesForKeysWithDictionary:。
有篇文章還是比較詳細的介紹了,有興趣的可以看看 KVC中setValuesForKeysWithDictionary:。
但是這樣就需要我們自己先把JSON轉(zhuǎn)換為dictionary,然后再轉(zhuǎn)化為model,這樣是比較麻煩的,還有類型轉(zhuǎn)化啊容錯性之類的都是要考慮的。所以就出現(xiàn)了很多第三方JSON和Model的轉(zhuǎn)換庫。
如Mantle、YYModel、FastEasyMapping、JSONModel、MJExtension
這里YYModel的作者寫了一片各個庫的比較,寫的還是比較全面的iOS JSON 模型轉(zhuǎn)換庫評測。主要從性能和容錯性部分進行評測。個人覺得性能部分確實不用考慮太多,功能復(fù)雜多樣,可定制性強性能自然會有些損耗。但我們畢竟只是在轉(zhuǎn)換的時候用一下,性能速度基本上影響不大,可以忽略不計。
如果你希望功能強大可定制強還是使用Mantle比較好,如果需求簡單想快速上手MJExtension和YYModel都是可以考慮的,畢竟都是國內(nèi)開發(fā)者寫的文檔比較容易理解,且有問題都是可以去咨詢的。
這有個JSON快速輸出為Model屬性代碼的插件,倒是挺有趣的,懶人專用。ESJsonFormat-Xcode