MJExtension使用详解

  1. Plist → 模型数组
    控制器中引用#import "MJExtension.h"模型数组 = [模型类名 objectArrayWithFilename:@"文件名.plist"];

  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]};}

  1. 如果 服务器传过来的 字典数组里的字典的Key,是OC里的关键字,而使用MJExtention的前提是,模型里的属性名和数组的key一致才行(区分大小写),怎么办?
    使用replacedKeyFromPropertyName使用方法:
    1.在模型类.m文件引入"MJExtension.h"
    2.实现方法+ (NSDictionary *)replacedKeyFromPropertyName{
    return @{@“非关键字的属性名” : @“数组的key”};
    }

  2. 单个字典 → 单个模型

  • (instancetype)objectWithKeyValues:(NSDictionary *)keyValues

--资料1:http://bubuko.com/infodetail-771052.html

只想归档Person中的name和age属性,不想归档gay属性,那怎么办呢?
[Person setupIgnoredCodingPropertyNames:^NSArray *{ return @[@"gay"];}];
--资料2:http://blog.csdn.net/hanhailong726188/article/details/46368379
//属性的类型为“关键字”的数据类型,id类型转换为ID就可以了
--http://www.zhihu.com/question/35588974

//多层树状结构解析
//www.greatytc.com/p/d1d56ee96b5b```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容