现在做的APP是新闻类的,每一个tableViewCell是一个新闻的数据模型,每一个模型中有一个createAt的时间字段。 但这样做有问题,就是比如我当前请求回来10条数据,我第十条没法判断是否显示,如果刚好下一次上拉加载请求回来的第十一条数据刚好和第十条时间不同,(而且服务器每次返回来的条数还不一定)我就不能正确的显示时间了。 当时想过当前这个模型,和上一条比较,但是想到这样的话在cellForRow中执行起来比较麻烦,实在是没有好办法了,新手求前辈指点一二,说的可能有点啰嗦。 |
|
80分 |
如果是我的的话,我还是会在数据源上做手脚,每次获取到数据的时候,就执行一个类似于构建数据源的方法,数据源看上去就像这样:
{ <0x12345678 NewsModel>, <0x12345678 NewsModel>, <0x12345678 NewsModel>, <0x12345678 DateModel>, // 日期 <0x12345678 NewsModel>, <0x12345678 NewsModel> } Cell 用两种 identifier,一种显示新闻,一种显示日期。 再把用于显示 DateModel 的 Cell 设置为不可选的,这样就只需要在 heightForRow 和 cellForRow 里单独对 DateModel 进行判断了。 业务逻辑部分只有构建数据源处处理。 |
谢谢版主,这种办法确实没用过,明天试试版主这个方法,前期选错方案,后期执行不下去,真的好蛋疼 |