0

我正在构建一个包含多个视图控制器的应用程序。每个 VC 都包含一个 UITabBar 对象(通过 Storyboard 插入)。我创建了一个扩展 UITabBar 以自定义 TabBarItems 等的类。

为了检测标签栏上的点击,我的 VC 包括 UITabBarDelegate 和每个 implements didSelectItem

我的问题是,如何改进我的代码并删除每个实现的 VC 下存在的所有重复代码didSelectItem?我可以在某处收集此代码,然后所有这些 VC 访问它并检测水龙头吗?

我想保留有关从前一个视图中按下了哪个项目的信息,并将其保留在新视图上。

4

1 回答 1

1

正如评论中提到的,您可以在任何常见的超类中实现委托方法。另一个想法:委托不限于项目所属的类。您可以创建一个专用于处理选项卡栏委托方法的类,并使该类成为每个选项卡栏的委托。

此类将实现必要的方法,并基于标识符或其他系统,以任何所需的方式处理来自任何 VC 的任何内容。

于 2013-05-31T17:57:02.147 回答