博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 字典自动生成模型
阅读量:6153 次
发布时间:2019-06-21

本文共 1467 字,大约阅读时间需要 4 分钟。

在实际开发中,我们经常需要根据字典来建模型。每次都打那么一串代码,想想也是挺恶心的。可以自己给NSDictionary写一个分类,进行属性生成。

NSDictionary+Property.h

#import 
@interface NSDictionary (Property)- (void)createPropertyCode;@end

NSDictionary+Property.m

#import "NSDictionary+Property.h"@implementation NSDictionary (Property)// isKindOfClass:判断是否是当前类或者子类// 生成属性代码 => 根据字典中所有key- (void)createPropertyCode{    NSMutableString *codes = [NSMutableString string];    // 遍历字典    [self enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull value, BOOL * _Nonnull stop) {                NSString *code;        if ([value isKindOfClass:[NSString class]]) {            code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSString *%@;",key];        } else if ([value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]) {            code = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",key];        } else if ([value isKindOfClass:[NSNumber class]]) {             code = [NSString stringWithFormat:@"@property (nonatomic, assign) NSInteger %@;",key];        } else if ([value isKindOfClass:[NSArray class]]) {             code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSArray *%@;",key];        } else if ([value isKindOfClass:[NSDictionary class]]) {             code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSDictionary *%@;",key];        }        [codes appendFormat:@"\n%@\n",code];            }];    NSLog(@"%@",codes);}@end

 

转载地址:http://gdbfa.baihongyu.com/

你可能感兴趣的文章
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>
mysql内存优化
查看>>
都市求生日记第一篇
查看>>
Java集合---HashMap源码剖析
查看>>
SQL优化技巧
查看>>
thead 固定,tbody 超出滚动(附带改变滚动条样式)
查看>>
Dijkstra算法
查看>>
css 动画 和 响应式布局和兼容性
查看>>