使用代表和IBActions进行子类化

时间:2012-08-25 17:09:46

标签: iphone objective-c ios cocoa-touch interface-builder

假设我有以下类GenericMoviePlayer,其中包含以下Outlets:

  • PLAYBUTTON
  • 暂停按钮
  • DoneButton

这些IBOutlet具有相应的IBActions

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

当触摸这些按钮时,会通知我班级的代表。

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

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

1 个答案:

答案 0 :(得分:1)

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

这是一个高级概述,但如果你有你想要完成的具体例子,我很乐意帮助你。我认为您的问题需要更准确地说明您希望实现的目标(除了重用代码之外)。