(二十九)动态单元格 - 循环利用注意全面覆盖信息

本文详细介绍如何在iOS开发中使用UITableView的动态Cell,并讲解了通过Cell控制器自定义样式的方法。此外,文章还介绍了如何通过绑定标识符来复用Cell,以及在实际应用中如何正确处理Cell的循环利用问题。

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

动态单元格可以绑定一个Cell控制器,优点是可以任意定义Cell的样式,然后在控制器里设置Cell的内容,例如布置为下图的样式:


从storyboard绑定标识的方法:设置Identifier后,即可通过出队方法获取这个Cell。


获取这个Cell的方法:这样是自动进行缓存池优化的,缓存池中没有,直接从storyboard中的模板创建。

AppCell *cell = [tableView dequeueReusableCellWithIdentifier:@"app"];

这是模拟的一个应用管理App,在表格的每一行显示一个App的信息和下载按钮,为了获取Cell信息,应该建立一个模型,Cell设置数据的时机是Cell出队之后,返回之前,在这里对Cell传递模型数据,因此只要重写Cell的set方法传入模型即可。

因为Cell有控制器,因此可以通过拖线的方式绑定控件,然后进行相应的设置(注意控件的名称不要和Cell自带的控件重名,例如imageView本来就有,注意避免重名)。

一个技巧:如果要实现不同的行Cell的多样化,可以让indexPath不同时出队的Cell的ID不同,一定要选择动态单元格。

为了实现主控制器对按钮的监听,需要主控制器监听Cell的按钮监听,注意代理方法要传入被代理的对象,这是规范。


循环利用带来的困扰:下载键点击后显示的为已下载,但是上下拖动tableView时,循环利用已有的Cell时因为信息覆盖的不够可能会还保持已下载。

因此,使用循环利用一定要覆盖全部状态

转载于:https://www.cnblogs.com/aiwz/p/6154224.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值