iOS开发技巧--如何打印模型键值对

作者: Suneday | 来源:发表于2017-11-29 15:06 被阅读38次

    在实际开发中我们会经常遇到需要查看模型实例有没有值,会不会为空的问题,但是当我们在控制台直接用po命令去打印的时候经常只会打印一个内存地址,而模型中键值对值却看不到,这相当烦躁,解决方法如下

    *请在BaseModel里面添加如下代码

    重写本个基类类目的description方法

    -(NSString *)description
    {
        NSMutableDictionary *jsonDic = [NSMutableDictionary dictionary];
        uint count;
        objc_property_t *properties = class_copyPropertyList([self class], &count);
        for (int i = 0; i < count; i ++)
         {
            objc_property_t property = properties[i];
            NSString *name = @(property_getName(property));
            id value = [self valueForKey:name]?:@"nil";
            [jsonDic setObject:value forKey:name];
        }
        free(properties);
        return [NSString stringWithFormat:@"<%@:%p> -- %@",[self mj_keyValues],self,jsonDic];
    }
    

    解释一下这段代码,就是重写了父类的description方法,然后获取了当前的类目内的所有属性,然后重新创建一个字典集合,把获取的对应的键名和键值放进这个字典集合中

    相关文章

      网友评论

        本文标题:iOS开发技巧--如何打印模型键值对

        本文链接:https://www.haomeiwen.com/subject/phoubxtx.html