0522.构建轻量级的Table View注意事项[UIKit]

参考文章来自objcio网站

一、使用Child
View
Controller

将Table ViewController
作为Child View Controller添加到其他View Controller中。这样的话父Controller可以管理其他View,同时你的Table
View Controller也可以继续管理自己的table
view。当然你需要通过一个delegate来使父Controller与子Controller进行通信

二、让Cell可以复用

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

三、把Table
View的Data
Source分解到单独的一个类中

UITableView中的DataSource大多都是对数组做的一些操作,可以把数组操作相关的代码移到单独的类中。可以使用block或者delegate来设置一个cell。

补充

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

2、对于一个table
view中有多种类型的cell、data
source,我们就要通过判断cell的类型,然后派发对应的方法。这点类似策略模式。

3、简单来讲,table
view
controller应该在model层和view层扮演一个协调者和解调者的决策,controller不应该关心明显属于view
层和model层的任务。可以使用delegate、block、data
source使得table
view
controller变得更加小巧。把业务逻辑和view的逻辑放到更加合适的地方,controller层里里外外的实现细节都封装成简单的API。

0522.构建轻量级的Table View注意事项[UIKit]

时间: 2024-08-28 05:59:58

0522.构建轻量级的Table View注意事项[UIKit]的相关文章

构建轻量级的Table View注意事项[UIKit]

參考文章来自objcio站点 一.使用ChildViewController 将Table ViewController作为Child View Controller加入到其它View Controller中.这种话父Controller能够管理其它View.同一时候你的TableView Controller也能够继续管理自己的tableview.当然你须要通过一个delegate来使父Controller与子Controller进行通信 二.让Cell能够复用 对于复杂的Cell或者有事多种

Using JavaFX UI Controls 12 Table View

原文链接地址:http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJAGAAEE 在这一章,你将学习如:添加一个表格表.数据填充.编辑表格行等格组件 JavaFx的基本操作. 很多JavaFX SDK API种的类为在表格表单中呈现数据.在JavaFX 应用中对创建表格最重要的是TableView, TableColumn和TableCell这三个类. 你可以通过实现数据模型(data model) 和 实现  单元格工厂(ce

Table view 备忘

Table view 备忘 本篇会以备忘为主,主要是一些基础的代理方法和数据源方法具体的优化好点子会后续跟上. Table view的数据源方法 必须实现的数据源方法 // 返回每一行的cell,可以做缓存处理,同样也可能会造成复用问题. func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // tableview 和 cell 都是在s

ios 官网文档翻译—Create a Table View(swift)

学习IOS中,翻译一下官方文档加深理解顺便提高自己的英文能力.英文很烂,翻译如若有错请谅解. 原文地址 如何创建一个TableView 在这一课中,你要创建FoodTracker(demo app)的主界面.你将创建一个基于table view的显示用户们的食物的列表,并且将完成如下图的自定义table cells来展示用户们的每份食物. 学习目标 在学习完这一劫课程后,你应该会: 创建一个storyboard场景 了解table view的关键组成部分 创建并设计一个自定义table view

IOS中Table View控件练习

之前两篇博客简单学习了Picker view控件的使用,接下来再学习IOS应用中很重要的一个视图--表视图. 在表视图中,每个表视图都是UITableView的一个实例,每个可见行都是UITableViewCell的一个实例. 表视图有两种基本格式,分组的表和普通表,普通表可以实现索引,实现了索引的表成为索引表.(PS.技术上,分组表也可以实现索引,不过好像苹果的设计规范中不支持) 一个简单的表视图应用 界面设计: 向storyboard中拖一个table view控件,他会自动占满屏幕,至于约

iOS开发总结(A0)- make table view more responsive

table view 是ios中非常重要一个view,它的流畅程度非常影响app的体验. 下面总结使table view 运行流畅的一个做法(通过学习wwdc) 1. 异步执行(通常是从网络获取获取,或者打开数据太耗时) 这很好理解,就不详细说明了 2. concurrent draw cell (wwdc中介绍的),这个方面使用了cell内容复杂,耗时 (待续)

IOS学习之table view controller、table view cell

A table view controller, like many objects, has more than one init method. There is: • initWithCoder, for view controllers that are automatically loaded from a storyboard • initWithNibName, for view controllers that you manually want to load from a n

创建一个Table View

在本课程中,您将创建应用程序FoodTracker的主屏幕.您将创建第二个,表视图为主场景,列出了用户的菜谱.你会设计定制表格单元格显示每一个菜谱,它是这样的: 学习目标 在课程结束时,你将能够: 创建第二个storyboard 场景了解table view这个关键组件创建和设计自定义table view单元格了解table view委托和数据源使用数组来存储和处理数据在table view中显示动态数据

iOS开发基础之用三种不同方式创建Table View应用

在iOS中,有一种最常见的控件就是Table View,你也可以理解为是一个列表.在安卓中就是一个ListView.常常用在新闻客户端,邮箱,备忘录等应用上.但是在iOS实现这个列表项比Android更为简单.下面将会使用三种方法来实现一个Table View的界面. (1)模板Master-Detail Application 这是在创建一个iOS应用的时候可以选择的模板,里面已经非常好的集成了Table View控件,已经可以实现增加一项,删除一项,信息显示的功能了.我们可以在这个基础上进行