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

本文介绍了TableView在iOS开发中的优化方法,包括使用ChildViewController、复用Cell以及将DataSource分解到单独类中,以提高应用性能和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章来自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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值