美文网首页
利用模型属性存cell的高度

利用模型属性存cell的高度

作者: 要加油啊小和尚 | 来源:发表于2017-12-25 17:56 被阅读0次

    一个模型对应一个cell的高度,所以把cell的高度变为模型的属性,这样的解决更彻底,一个模型对应一个自己的属性

    把一个对象跟一个东西关联起来,设计一对一的思路:

    1.字典,可以变成key和value的关系

    2.用模型属性,可以变成对象和属性的关系

    把高度写为模型类的属性,然后在.h中重写get方法,由于有了属性就有了成员变量,所以先判断是否为0,如果不为0,代表存在,已经计算过,直接if(_cellHeight) return ,如果为0,则累加,累加,累加,返回,这样就封装到了模型类内部

    把模型对应的cell高度缓存到成员变量中去

    在heightForRow方法中,根据行号从模型数组中获取到模型后,直接返回模型对象的高度

    模型数据决定高度,模型数据多,高度就高,所以简而言之,模型决定高度,取出模型对应的高度合情合理

    默认从数组内部取出来的是id类型,id类型的东西是不能用点语法的

    所以这样直接写是错的 self.topics[indexPath.row].cellHeight,这里用到了泛型,如果定义数组属性的时候,如果不定义泛型,它里面的元素类型就是泛型,里面什么都可以装,所以这样写:@property(nonatomic,strong)NSMutableArray<Topic *> *topic,这样写了之后就可以用点语法了

    相关文章

      网友评论

          本文标题:利用模型属性存cell的高度

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