gpt4 book ai didi

ios - 处理 UITableViewcell subview 的 Action (事件)的正确方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:42 24 4
gpt4 key购买 nike

我有一个带有自定义单元格的 UITableView。每个单元格都有一个相当复杂的布局和许多 subview ,所有这些都具有事件操作:UIImageView 带有手势识别器,几个 UIButtons 带有一些操作,两个 UILabel 带有手势识别器。所以我很感兴趣是否有一些优雅的方法来为他们处理目标 Action ?现在我看到三种方式:

  1. cellForRowAtIndexPath:
  2. 中使用 block ( BlocksKit 来救援)处理操作
  3. 创建自定义类 CellEventHandler,将所有需要的依赖项( Controller 的导航 Controller 、数据数组等)传递给它,并将所有单元格的 View 操作选择器放在那里。
  4. 在TableViewController中写入所有选择器(默认方式)

但我并不满足于所有这些方式。有人可以描述一些有助于使 Controller 变薄并且易于维护的优雅方法吗?我确定此工作流应该存在某种模式。

最佳答案

使用委派。构建单元格时,将其委托(delegate)属性设置为符合委托(delegate)协议(protocol)的某个实例。触发操作时,只需将行为委托(delegate)给委托(delegate)人即可。

这样,您最终会得到定义明确的委托(delegate)协议(protocol)和封装在该类中的功能。委托(delegate)人是否将由您决定。 TableViewController 或自定义类。

关于ios - 处理 UITableViewcell subview 的 Action (事件)的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30444657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com