gpt4 book ai didi

ios - 在不同的 Controller 中处理 UITableViewDelegate 事件

转载 作者:行者123 更新时间:2023-11-29 03:05:06 25 4
gpt4 key购买 nike

我在 iOS 中使用 UIViewControllerContainment 功能。我的容器 Controller 称为 mainViewController。它由 menuViewController 和 contentViewController 组成。 menuViewController 是一个 UITableViewController。

现在,我希望当我在 menuViewController 中选择一行时,我在 mainViewController 中处理一个事件。我必须在不更改 menuViewController 代码的情况下完成所有这些工作。

** 我知道我可以使用委托(delegate)来调用 mainViewController 但使用委托(delegate)会改变 ** menuViewController 代码,我不想这样做。

最佳答案

假设 menuViewController 没有设计某种委托(delegate)或回调 block (或者你不会问这个问题),你的选择真的非常有限,而且没有好的选择,因为任何选项会违反您试图利用的遏制概念。

在我看来,您的选择是:

  1. 修改 menuVieController 以添加对项目选择的委托(delegate)或 block 回调。这是最好的方法,因为它可以很好地包含和隔离 menuViewController。

  2. 子类化 menuViewController,覆盖 didSelectCell... 并执行第 1 步。可能需要确保您也调用 super。这很糟糕,因为您对 menuViewController 的内部结构做出了假设并违反了包含。

  3. 窃取 tableView 委托(delegate)并自己处理。这对 menuViewController 的内部结构做出了更多假设。

最重要的是,我真的建议您重新考虑不更改 menuViewController 的决定。

关于ios - 在不同的 Controller 中处理 UITableViewDelegate 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22869398/

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