1

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

以下是我所说的常见功能的一些示例:

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

2) 显示警告信息(例如错误信息)。

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

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

4

2 回答 2

2

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

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

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

于 2012-11-15T14:34:39.180 回答
1

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

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

于 2012-11-15T14:19:59.123 回答