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