代码之家  ›  专栏  ›  技术社区  ›  Sam Cogan

在其他类中设置委托

  •  1
  • Sam Cogan  · 技术社区  · 14 年前

    我正试着写我的第一个iPhone应用程序,但我遇到了一些麻烦。

    问题是,我不知道如何让我的第二个班级成为第一个班级成员的音频播放器的代表。我在第一个类中创建了一个方法,该方法引用一个类并在此类上运行setDelegate方法,但是AudioPlayerIDFinishPlaying方法从未被调用。但是,如果我在第一个类中实现audioplayerdfinishplaying方法,它会被调用为fine。如何让AudioPlayerIDFinishPlaying在第二节课上被调用?

    -(void) setAudioDelegate:(id)delegate{
        [audioPlayer setDelegate:delegate];
    }
    

    在第二节课上,我是这样称呼它的

    [class1 setAudioDelegate:self];
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   imaginaryboy    14 年前

    在尝试设置音频代理时,请确认“audioPlayer”和“class1”都不是零。

        2
  •  0
  •   AechoLiu    14 年前

    代表以一对一的方式工作。 如果你想让实例之间的关系以多对多或一对多的方式工作,也许你可以研究一下 NSNotification class reference Notification Programming Guide .