博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用运行时给模型赋值
阅读量:5047 次
发布时间:2019-06-12

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

利用运行时给模型赋值

前提是模型属性和key要一致 下面的代码只需要修改这个类方法就可以用了

+(instancetype)userCommentsWithDict:(NSDictionary *)dict{

    id obj = [[self alloc]init];
    NSArray *array =[self loadProperties];
    
    for (NSString *key in array) {
        if (dict[key]) {
            [obj setValue:dict[key] forKey:key];
        }
    }
    return obj;
}
+ (NSArray *)loadProperties {
    unsigned int count = 0;
    
    // 返回值是所有属性的数组
    objc_property_t *properties = class_copyPropertyList([self class], &count);
    
    NSMutableArray *arrayM = [NSMutableArray arrayWithCapacity:count];
    
    for (int i = 0; i < count; ++i) {
        // 1. 从数组中获得属性
        objc_property_t pty = properties[i];
        
        // 2. 拿到属性名称
        const char *cname = property_getName(pty);
        [arrayM addObject:[NSString stringWithUTF8String:cname]];
    }
    
    // 释放属性数组
    free(properties);
    
    return arrayM;
}

转载于:https://www.cnblogs.com/chroad/p/5615234.html

你可能感兴趣的文章
git使用中的问题
查看>>
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
读书笔记 ~ Nmap渗透测试指南
查看>>
WCF 配置文件
查看>>
动态调用WCF服务
查看>>
oracle导出/导入 expdp/impdp
查看>>
类指针
查看>>
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
Symfony翻译教程已开课
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>