设计自己的模型属性代码

将数据转为模型,是每一个app钟所必须的,通常对于复杂Device数据模型我们会采用第三方框架如JSONModel、YYModel等,但是针对一些比较简单的数据模型,就完全没有必要使用第三方框架。但是又不想自己手动敲打类似@property (nonatomic, strong) NSString *source; @property (nonatomic, assign) int reposts_count;等这样的代码,这是完全可以自己写一个分类,在这个分类中添加一个方法,直接传入一个字典,然后将类似在撒谎个面这样的代码自动打印在控制台。

在控制台打印自己的模型属性

直接创建一个NSObject的类别NSObject+Property,然后实现如下一个简单的方法即可。方法中的NSLog(@"%@",strM);会想相关信息打印在控制台。外部在调用这个方法的时候,直接传入数据中的任意一个相关字典就可以实现这个种效果,写好了这个类别,以后想使用的时候直接一行代码就可以实现打印自己的属性模型,省去了手动代码的麻烦,而且手动巧写代码的时候还有可能出错。还是很简单便捷的。😀😀😁😁

+ (void)createPropertyCodeWithDict:(NSDictionary *)dict{
    //@"@property(nonatomic,assign)int attitudes_count;";
    NSMutableString *strM = [NSMutableString string];
    //遍历字典
    [dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull propertyName, id  _Nonnull value, BOOL * _Nonnull stop) {
        NSString *code;//属性代码
        if ([value isKindOfClass:NSClassFromString(@"__NSCFString")]) {
            code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSString *%@;",propertyName]
            ;
        }else if ([value isKindOfClass:NSClassFromString(@"__NSCFNumber")]){
            code = [NSString stringWithFormat:@"@property (nonatomic, assign) int %@;",propertyName]
            ;
        }else if ([value isKindOfClass:NSClassFromString(@"__NSCFArray")]){
            code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSArray *%@;",propertyName]
            ;
        }else if ([value isKindOfClass:NSClassFromString(@"__NSCFDictionary")]){
            code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSDictionary *%@;",propertyName]
            ;
        }else if ([value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]){
            code = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",propertyName]
            ;
        }
        [strM appendFormat:@"\n%@\n",code];
    }];
    
    NSLog(@"%@",strM);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,873评论 0 9
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,395评论 30 472
  • “白百何出轨,我们还能相信爱情吗?文章出轨,我们还能相信爱情吗?”看到这样的问句,实在感觉厌恶至极,出轨和爱情在我...
    很甜很甜的鱼阅读 4,112评论 6 4
  • 《免责声明》:文章是木禾君私人炒股日志,只是个人观点;涉及个股不是推荐,仅供参考。博主中长线会不时做T操作,短线随...
    木禾君Mu阅读 2,755评论 0 0
  • 凉风有信,秋月无边。秋来了,可是温凉了一两天后,马上又霸道蛮狠起来。人们常用“骄阳似火”来形容夏天的火辣,其实36...
    羽衣甘兰阅读 3,153评论 0 0

友情链接更多精彩内容