我有一个 UIViewController,随着时间的推移,它添加了很多委托事件,这使得控制器类变得非常大。UIViewController 类包含相当多的视图管理方法,这些方法从事件委托方法中调用,以管理控制器正在管理的 UIView。
我现在正在向该类添加更多 UIActionSheet 委托事件。我的控制器类越来越大,我想我应该打破 UIActionSheet 委托事件并将它们放在单独的委托类中。然后,这个单独的委托类必须回调到视图控制器类中,以使视图控制器使用视图控制器中的视图管理方法相应地调整视图。(视图控制器访问视图所代表的单独模型对象)。
我可以看到采用这种突破方法的利弊。向控制器添加越来越多的委托事件感觉是错误的,但是为不同类别的事件创建单独的类,然后需要回调到控制器中,这似乎也引入了不必要的复杂性和混淆层。大型控制器类“简单明了”但感觉不对,而使用许多不同的委托类会更复杂和复杂,但会产生更小的类。
任何人都可以提供一些关于这个话题的智慧之言,或许可以为我指出一些关于这个问题的特定于 iOS 的阅读?
非常感谢。