0

我正在为 iPhone 组件库开发一种特殊类型的视图控制器。

我已经让 who 视图控制器运行良好,但我需要对其进行更改,以便它以两种方式之一运行:

它要么是一个抽象类,您必须将其子类化并提供特定方法的实现,控制器将在需要其数据时调用该特定方法。

或者它需要是一个可用的类,它的属性是一个选择器......当你设置选择器时,它指定应该调用的方法来收集数据。

我想知道如何实现其中任何一个以及您会推荐哪些

4

1 回答 1

0

在 Objective-C 和 iPhone 中执行此操作的标准方法是通过委托。

通常,您在视图控制器中提供一个名为委托的属性,该属性是为您创建的特定协议键入的。然后,使用您的视图控制器的人将为您的视图控制器设置委托属性及其委托。然后,您可以在他们的委托上调用协议中的方法。

有关完整示例,请参阅此 SO question的答案。

另请阅读Cocoa Fundamentals Guide了解什么是委托以及为何在 Cocoa 中使用委托。还有一个示例,说明如何为您自己的自定义类创建委托。

于 2009-12-15T16:57:53.623 回答