zoukankan      html  css  js  c++  java
  • 构建轻量级的Table View注意事项[UIKit]

    參考文章来自objcio站点

     

    一、使用ChildViewController

     

    Table ViewController作为Child View Controller加入到其它View Controller中。这种话父Controller能够管理其它View。同一时候你的TableView Controller也能够继续管理自己的tableview。当然你须要通过一个delegate来使父Controller与子Controller进行通信

     

    二、让Cell能够复用

     

    对于复杂的Cell或者有事多种model对象须要同一个类型的cell表示时。那么我们能够考虑把cell复用。

     

    三、把TableView的DataSource分解到单独的一个类中

     

    UITableView中的DataSource大多都是对数组做的一些操作。能够把数组操作相关的代码移到单独的类中。

    能够使用block或者delegate来设置一个cell。

     

    补充

     

    1、在分离时注意要把view层和Controller层的实现细节分开。delegate肯定清除一个view应该显示什么状态,可是它不应该了解怎样改动view的结构或者给某些subviews设置某些属性以获得正确地状态,全部的这些逻辑都应该封装到view的内部,然后对外提供一些简单的API

     

    2、对于一个tableview中有多种类型的cell、datasource。我们就要通过推断cell的类型,然后派发相应的方法。

    这点类似策略模式。

     

    3、简单来讲,tableviewcontroller应该在model层和view层扮演一个协调者和解调者的决策,controller不应该关心明显属于view层和model层的任务。能够使用delegate、block、datasource使得tableviewcontroller变得更加小巧。

    把业务逻辑和view的逻辑放到更加合适的地方。controller层里里外外的实现细节都封装成简单的API。

  • 相关阅读:
    Ant 执行 exec cmd.exe 时路径包含空格的问题
    时区时差换算(GMT,UTC,PST,PDT)
    windows 共存多个位数不同的jdk时,eclipse的报错对应措施
    Windows下查询指定端口进程,并杀死
    关于windows的jdk
    第一阶段工作总结
    mac配置git mergetool为p4merge(2013笔记整理)
    ubuntu 14.04 安装压缩包版mysql
    关于微信公众号内嵌网页的几个meta标签
    关于js的keyCode
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5144524.html
Copyright © 2011-2022 走看看