我是否应该对所有单例样式的应用程序级代码使用 appDelegate



从"好的设计"的角度来看。 我是否应该对所有应用级公共代码使用 appDelegate 类? 换句话说,我有很多事情需要许多视图控制器能够完成。 这意味着它是通用功能,而不是特定于单个视图控制器。 所以问题是:我应该将这些常用方法放在appDelegate中吗? 这就是它的用途吗? 我应该创建另一个单独的类吗?

以下是我所说的常见功能的几个示例:

1)播放常见声音(如错误声音)。

2) 显示警报消息(如错误消息)。

3) 验证应为特定类型(十进制数字)的输入的方法

4) 从 Web 服务更新应用级数据

将所有常用函数放到 appDelegate class 并不是一个好主意。

1 & 2)您可以创建超类,所有视图控制器都继承它或使用类别。

3 & 4)您可以创建一个普通的函数类来实现。例如,你的类名是函数,你有类方法,使用它只是简单地调用[函数验证:你的数据]返回布尔值。

如果它与数据相关,那么在您的应用程序中拥有单独的模型层对我来说最有意义。 如果代码专门与视图控制器的行为方式相关,那么常见的超类甚至UIViewController类别听起来更像是正确的解决方案。

我认为应用程序委托更多地是关于设置基本应用程序结构(可能包括连接模型和控制器层)并处理其生命周期。

相关内容

最新更新