美文网首页iOS学习笔记
UITableView实现动态加载页面

UITableView实现动态加载页面

作者: 稻_草_人 | 来源:发表于2017-08-03 15:37 被阅读0次

引:最近写个项目,自己写的模块有这样的需求:一个页面排列着不同的产品卡(考虑用UITableView写),这些产品卡的顺序、是否显示会根据后台请求的数据,或者当前用户登陆账号的权限来显示(动态的),重构了几次代码,最后得到下面的结果:

1、实现思路

  • 所谓动态是已确定所有卡片的情况下动态
  • 用一个视图模型处理tableView的回调,数据请求逻辑,整个控制器级的逻辑,产品卡模型界面添加等
  • 用一个BaseModel抽象类处理tableView的section级的抽象接口和属性声明(实现在相应子类实现,一个产品卡对应一个子类)
  • 用一个BaseCell抽象类处理tableView的视图与数据关联

2、使用

*第一步: 根据BaseCell为基类定制相应的产品卡,根据BaseModel为基类定制相应产品卡模型,每个产品卡必须对应一个模型

  • 第二步:使用ViewModel的addSubstanceModelName:方法和addSubstanceCellName:方法将模型和产品卡视图添加入视图模型
  • 第三步:使用ViewModel的方法showOrders:调整产品卡的顺序,按照,自己想要的顺序显示
  • 第四步:请求数据(如果请求数据为空,会将model的一个属性设置为NO,不会对改产品卡进行显示)

3、不知道怎么解决的问题

  • 每个model和cell在ViewModel里面根据NSNumber进行定位的,因此在调用showOrders:方法时,需要类似这样传入:[self.viewModel showOrders:@[@(1),@(0),@(2)]];(下标从0开始)
  • 每个model和cell根据基类进行个性定制,model和cell里面的内容不确定,需要根据需求确定,有必要需要修改ViewModel里面的代码(不知道怎么解决)

4、功能demo

相关文章

  • UITableView实现动态加载页面

    引:最近写个项目,自己写的模块有这样的需求:一个页面排列着不同的产品卡(考虑用UITableView写),这些产品...

  • Python 实战:week1 爬取霉霉图片

    运行效果: 作业代码: 项目代码 小结 异步加载 通过 JS 实现动态加载数据,在与当前 HTML 页面的加载并不...

  • 05_“12369”举报案件

    简述 通过前面练习,应该抓取简单静态页面so easy,本节主要实现抓取动态加载(JavaScript)内容页面。...

  • 如何动态加载js?

    如何动态加载js?如何使用js实现多个html页面访问同一个常量?如何不使用框架,只有Html时,动态加载文件? ...

  • PHP页面静态化01

    动态页面与静态页面 动态页面:首先加载动态文件,将动态文件中的内容,如php文件, asp文件等 静态页面:静态的...

  • 几种设置UITableView的cell动态高度的方法

    几种设置UITableView的cell动态高度的方法 1.UITableView加载的顺序是先得到表的行的高度,...

  • JavaScript动态加载js和css

    动态加载js 参考:javascript 性能优化 动态加载css 参考: 动态加载 css 方法实现和深入解析 ...

  • tableViewCell里嵌套collectionView

    有时要实现一个复杂的页面布局,单单使用UITableView实现不了,需要通过UITableView和UIColl...

  • react-router4 modal与动态路由的冲突

    项目使用了1,react-router4,2,Bundle 动态加载路由问题:页面路由使用了动态路由,要实现一个m...

  • UITableView 动态预加载

    静态临界值方案 设置当前初始化页码为 page = 1; 设置一个初始化临界值 threshold,thresho...

网友评论

    本文标题:UITableView实现动态加载页面

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