当前位置:首页 > 操作系统 > Ios

ios开发小技巧-用宏化简代码

在IOS开发中,要做字典转模型一般情况如下:

             1
            /*
            *

             2
             *  声明方法

             3
            */
             4 - (instancetype) initWithDictionary:(NSDictionary *)dict;
 5 + (instancetype) carWithDictionary:(NSDictionary *)dict;
 6 7/**
 8 *  实现方法
 9*/10 - (instancetype)initWithDictionary:(NSDictionary *)dict
11{
12if (self = [super init]) {
13        [self setValuesForKeysWithDictionary:dict];
14    }
15return  self;
16}
1718 + (instancetype)carWithDictionary:(NSDictionary *)dict
19{
20return [[ZYCar alloc]initWithDictionary:dict];
21 }

先在头文件中声明,再在.m

文件中实现具体的方法,而且这些方法的内容基本一致,可以用宏简化。

2.新建一个.h文件,并在其中添加如下代码:

             1
            #define InitH(name)  2 - (instancetype)initWithDict:(NSDictionary *)dict;  3 + (instancetype)name##WithDict:(NSDictionary *)dict;
 4 5#define InitM(name) 6 - (instancetype)initWithDict:(NSDictionary *)dict  7{  8if (self = [super init]) {  9        [self setValuesForKeysWithDictionary:dict]; 10    } 11return self; 12} 13 + (instancetype)name##WithDict:(NSDictionary *)dict 14{ 15return [[self alloc] initWithDict:dict]; 16}
1718#endif

引用这个.h文件后,上面方法的声明和实现可以化简为一句

InitH(name);InitM(name); name为模型类名

原文:http://www.cnblogs.com/delegate/p/3756157.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!