首页 > 代码库 > 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 { 12 if (self = [super init]) { 13 [self setValuesForKeysWithDictionary:dict]; 14 } 15 return self; 16 } 17 18 + (instancetype)carWithDictionary:(NSDictionary *)dict 19 { 20 return [[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 { 8 if (self = [super init]) { 9 [self setValuesForKeysWithDictionary:dict]; 10 } 11 return self; 12 } 13 + (instancetype)name##WithDict:(NSDictionary *)dict 14 { 15 return [[self alloc] initWithDict:dict]; 16 } 17 18 #endif
引用这个.h文件后,上面方法的声明和实现可以化简为一句
InitH(name);InitM(name); name为模型类名
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。