1

假设我有以下GenericMoviePlayer具有以下插座的类:

  • 播放按钮
  • 暂停按钮
  • 完成按钮

那些IBOutlets 有它们对应的IBActions

- (void) playTouched:(id)sender;
- (void) pauseTouched:(id)sender;
- (void) doneTouched:(id)sender;

当这些按钮被触摸时,我班的一名代表就会被告知。

现在这一切都很好,但想象一下我现在想要一种特殊类型的播放器,它应该从这个更通用的播放器继承。我现在将在委托协议中拥有新的 Outlets、新的 Actions 和新的方法。那么我该如何实现呢?

子类化和 IBOutlets 很好地结合在一起,但我不知道我必须如何设计我的子类,以便我可以“继承” IBActions 并覆盖委托协议。

4

1 回答 1

1

由于IBActions 是在您的GenericMoviePlayer标头中定义的,因此您可以在SpecificMoviePlayerxib 中使用这些方法。因此,当您在 xib 中连接这些按钮时,这些GenericMoviePlayer IBActions 将可供您使用。从技术上讲,如果您SpecificMoviePlayer需要向播放/暂停/完成方法添加功能(或完全更改该功能),您可以覆盖这些方法。

这是一种高层次的概述,但如果你有你想要完成的具体示例,我很乐意为你提供帮助。我认为您的问题需要进一步澄清您希望完成的工作(除了代码的重用)。

于 2012-08-25T18:00:07.843 回答