Plist → 模型数组
控制器中引用#import "MJExtension.h"模型数组 = [模型类名 objectArrayWithFilename:@"文件名.plist"];对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]};}
如果 服务器传过来的 字典数组里的字典的Key,是OC里的关键字,而使用MJExtention的前提是,模型里的属性名和数组的key一致才行(区分大小写),怎么办?
使用replacedKeyFromPropertyName使用方法:
1.在模型类.m文件引入"MJExtension.h"
2.实现方法+ (NSDictionary *)replacedKeyFromPropertyName{
return @{@“非关键字的属性名” : @“数组的key”};
}单个字典 → 单个模型
- (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
//多层树状结构解析
http://www.jianshu.com/p/d1d56ee96b5b```