iOS Json解析框架之MJExtension使用詳解


1. Plist → 模型數組

控制器中引用#import "MJExtension.h"

 模型數組 = [模型類名 objectArrayWithFilename:

[[NSBundle mainBundle] pathForResource:@"文件名.plist" ofType:nil]];

 

2. 對NSLog的優化,解決 調試時,打印模型,只打印出內存地址的問題

使用方法:在模型類的.m文件中,引用#import "MJExtension.h"

在@implementation 和 @end之間,寫上MJLogAllIvrs

 

3. 對NSCoding的優化,不用再寫繁瑣的解檔和歸檔方法了

使用方法:在模型類的.m文件中,引用#import "MJExtension.h"

在@implementation 和 @end之間,寫上MJCodingImplementation

 

4. 字典數組 → 模型數組

4.1 場景一: [  字典1,

        字典2

        字典3  ]

如果每個字典都是一個模型,可以用

NSArray *modelArray = [模型類名 objectArrayWithKeyValuesArray:字段數組];

 

4.2 場景二:在場景一的基礎上,每個字典里面,有數組(假設數組的key值是arrayName),數組里面存放着若干個相同的模型,使用下面的方法

使用方法:

首先在模型類.m文件中,引入#import "MJExtension.h"

然后在 @implementation 和 @end之間 寫上

+ (NSDictionary *)objectClassInArray

{

    return @{@"arrayName" : [模型類名 class]};

}

 

 5. 如果 服務器傳過來的 字典數組里的字典的Key,是OC里的關鍵字,而使用MJExtention的前提是,模型里的屬性名和數組的key一致才行(區分大小寫),怎么辦?

使用replacedKeyFromPropertyName

使用方法:1.在模型類.m文件引入"MJExtension.h"

    2.實現方法

+ (NSDictionary *)replacedKeyFromPropertyName

{

    return @{@“非關鍵字的屬性名” : @“數組的key”};

}

 

6. 單個字典 → 單個模型

+ (instancetype)objectWithKeyValues:(NSDictionary *)keyValues

 


免責聲明!

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



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