【发布时间】:2010-06-16 13:16:16
【问题描述】:
在可可触摸开发中...
- 将 AppDelegate 用于委托类
- 为每个需要使用委托的类创建单独的委托类并在新的 .h/.m 中定位
- 使用视图控制器类(只要存在)为所有人完成这项工作 由该控制器管理的类
你会推荐什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch coding-style
在可可触摸开发中...
你会推荐什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch coding-style
这取决于。存在委托协议的整个概念,因此您可以拥有很大的灵活性。有时您采用简单的默认路由,但有时您需要能够拥有许多不同的委托类。
(1) 应用程序委托——应用程序委托应仅用于 UIApplicationDelegateProtocol 方法或委托实例本身的实际属性。换句话说,如果应用程序委托不直接处理实例,例如应用程序对象,则应用程序委托应作为实例的委托。在应用程序委托中堆积多余的方法会使应用程序变得混乱,并使其相互连接复杂且难以调试和维护。
(2) 当您有 (A) 大量的委托协议要实现或 (B) 您有相同的协议要为多个实例实现但需要为每个对象的委托不同的行为时,通常会使用完全独立的委托类.例如。你有几个 UITextFields 每个都有不同的行为。您为每个创建单独的委托类,以便每个文本字段都有自己的委托协议方法的自定义实现。
(3) 在大多数情况下,为委托使用控制器是最简单、最合乎逻辑和最模块化的方式。在许多情况下,例如 UI 元素,委托方法需要了解控制器可以提供的其他 UI 元素。
总之,永远不要将 (1) 作为任何随机委托方法的一般停车位,并且在大多数情况下默认为 (3)。
【讨论】: