0

我有两个类 - CompletionView 和 PauseView - 每个类都有一个关联的委托。我已经在 CompletionDelegate 中有一个函数 returnHome,并且我的 PauseView 委托中需要相同的功能。我的问题是,我是否必须编写两个具有重复功能的函数?或者一个功能可以满足两个协议?即,CompletionDelegate 和 PauseDelegate 都可以要求定义 returnHome 吗?

4

2 回答 2

4

您可以在外部标头中定义您的协议,将其导入 CompletionView 和 PauseView,然后基于该外部协议创建委托。

协议不一定需要直接绑定到视图。

请参阅此答案,但如果您的委托方法并不特别需要这些类,您甚至可能不需要定义 @class 和所有这些。您应该能够returnHome在类似的东西下GeneralUseDelegate 定义并在两个视图中定义/使用该委托。

@protocol GeneralUseDelegate

- (void) returnHome;

@end

没有测试,但无法想象为什么这不起作用。

于 2013-07-12T18:12:20.893 回答
1

您可以为 CompletionView 和 PauseView 创建一个公共超类并定义协议并将委托属性放在那里

于 2013-07-12T17:54:31.863 回答