MJExtension解析http協議

    首先要先了解MJExtension是什麼,這裏有很明確的說明,你也能夠經過下載它的代碼來運行裏面的demo進一步瞭解如何使用,具體的細節不用瞭解很清楚,只要會用就能夠了.git

    使用MJExtension咱們會發現,咱們要手動寫不少代碼來定義模型(結構),還要對一些和系統關鍵字或者屬性重名的屬性進行重命名.有了ESJsonFormat-Xcode插件,咱們能夠在這裏獲得幫助,並能夠測試下readMe中的demo,你會發現ESJsonFormat會爲咱們生產不少模型,而且是支持泛型的,可是MJExtension如今還不支持泛型.因此對於模型中存在模型數組的,仍是要對數組指定類型,有兩種方式github

數組

[Student mj_setupReplacedKeyFromPropertyName:^NSDictionary *{    
return @{};
}];

相似這種方式,返回一個字典,來爲Student類中的屬性更名框架

測試

@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

相關文章
相關標籤/搜索