从实例化的类obj-c中调用启动器类中的方法

时间:2009-05-08 09:56:29

标签: iphone objective-c oop class delegates

我有一个按钮类 - 当单击按钮时,将调用MyAudio类的playFile方法。所以我的问题是,从按钮类调用playFile方法很简单,但是如何从启动器类调用方法displayStopButton呢?

按钮类

- (void)myButtonClicked: (id)sender
{
    [MyAudio playFile];

}

-(void)enablePlayButton
{
  // test
}

MyAudio类

-(BOOL)playFile{

   // Init AVAudioPlayer
}

- (void)audioPlayerDidFinishPlaying: (AVAudioPlayer*)player successfully: (BOOL)flag
{

   // make a call back to calling class????

}

2 个答案:

答案 0 :(得分:1)

你所说的Button类看起来像你的控制器类。 audioPlayerDidFinishPlaying听起来像一个方法,也应该在你的控制器类中实现。这样,您可以将控制器类设置为音频播放器类的委托,audioPlayerDidFinishPlaying方法的实现可以调用[self displayStopButton]。

答案 1 :(得分:0)

您必须在控制器中保留指向要启用和禁用的所有控件的指针。使用这些手柄,您可以在获得Audio子系统的通知时打开和关闭它们。