iOS-MJExtension的使用


MJExtension能做什么?

  1. MJExtension是一套字典和模型之間互相轉換的超輕量級框架
  2. MJExtension能完成的功能

     字典(JSON) --> 模型(Model) 模型(Model) --> 字典(JSON) 字典數組(JSON Array) --> 模型數組(Model Array) 模型數組(Model Array) --> 字典數組(JSON Array)

MJExtension和JSONModel、Mantle等框架的區別

1. 轉換速率:

最近一次測試表明:MJExtension > JSONModel > Mantle

各位開發者也可以自行測試

2.具體用法:

JSONModel

要求所有模型類必須繼承自JSONModel基類

Mantle

要求所有模型類必須繼承自MTModel基類

MJExtension

不需要你的模型類繼承任何特殊基類,毫無污染,毫無侵入性

如何使用MJExtension

方法一:cocoapods導入pod 'MJExtension'

方法二:手動導入

將MJExtensionExample/MJExtensionExample/MJExtension文件夾中的所有源代碼拽入項目中
導入主頭文件:#import "MJExtension.h" MJExtension.h MJConst.h MJConst.m MJFoundation.h MJFoundation.m MJIvar.h MJIvar.m MJType.h MJType.m NSObject+MJCoding.h NSObject+MJCoding.m NSObject+MJIvar.h NSObject+MJIvar.m NSObject+MJKeyValue.h NSObject+MJKeyValue.m

最簡單的字典轉模型: objectWithKeyValues:

模型中嵌套模型

.模型中有個數組屬性,數組里面又要裝着其它模型:在模型內部實現+ (NSDictionary *)objectClassInArray方法

模型中的屬性名和字典中的key不相同(或者需要多級映射)

將一個字典數組轉成模型數組:objectArrayWithKeyValuesArray:

將一個模型轉成字典:

// 新建模型 User *user = [[User alloc] init]; user.name = @"Jack"; user.icon = @"lufy.png"; Status *status = [[Status alloc] init]; status.user = user; status.text = @"今天的心情不錯!"; // 將模型轉為字典 NSDictionary *statusDict = status.keyValues;

將一個模型數組轉成字典數組:

// 新建模型數組 User *user1 = [[User alloc] init]; user1.name = @"Jack"; user1.icon = @"lufy.png"; User *user2 = [[User alloc] init]; user2.name = @"Rose"; user2.icon = @"nami.png"; NSArray *userArray = @[user1, user2]; // 將模型數組轉為字典數組 NSArray *dictArray = [User keyValuesArrayWithObjectArray:userArray]; NSLog(@"%@", dictArray); /*( { icon = "lufy.png"; name = Jack; }, { icon = "nami.png"; name = Rose; } )*/

核心代碼7:

[User keyValuesArrayWithObjectArray:userArray]

 

 鏈接地址:https://github.com/CoderMJLee/MJExtension


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM