首先要先了解MJExtension是什麼,這裏有很明確的說明,你也能夠經過下載它的代碼來運行裏面的demo進一步瞭解如何使用,具體的細節不用瞭解很清楚,只要會用就能夠了.git
使用MJExtension咱們會發現,咱們要手動寫不少代碼來定義模型(結構),還要對一些和系統關鍵字或者屬性重名的屬性進行重命名.有了ESJsonFormat-Xcode插件,咱們能夠在這裏獲得幫助,並能夠測試下readMe中的demo,你會發現ESJsonFormat會爲咱們生產不少模型,而且是支持泛型的,可是MJExtension如今還不支持泛型.因此對於模型中存在模型數組的,仍是要對數組指定類型,有兩種方式github
1 數組
[Student mj_setupReplacedKeyFromPropertyName:^NSDictionary *{ return @{}; }];
相似這種方式,返回一個字典,來爲Student類中的屬性更名框架
2 測試
@implementation Student + (NSDictionary *)replacedKeyFromPropertyName { return @{@"desc" : @"description" }; } @end
經過在類的實現文件中重寫replacedKeyFromPropertyName方法,由於NSObject+MJProperty.h中對NSObject方法進行了擴展,replacedKeyFromPropertyName也是NSObject的屬性了,因此經過這種方式能夠對屬性更名.spa
同理objectClassInArray屬性也是同樣的道理,如今objectClassInArray是必定要指定模型中數組元素的類型的,之後MJExtension支持泛型估計就不用了.插件
固然,經過這樣的方式有時候對於複雜的jason咱們不必定可以經過ESJsonFormat-Xcode一次進行完美的生產模型,這就要咱們在生成的基本模型框架上進行一些校訂,最後在調用的時候只要一句話code
Student *stu = [Student mj_objectWithKeyValues:jason];
jason是你的數據,這裏因爲是id類型,也能夠傳字典,plist,總之,總有一款適合你.orm