0

我正在尝试从在不同线程中运行的音乐渲染函数调用此方法。方法在里面InstrumentGridViewController

- (IBAction)stopPlayback:(id)sender{
    [self stopToneUnit];
}

这就是我调用该方法的方式:

dispatch_async(dispatch_get_main_queue(), ^{ [InstrumentGridViewController stopPlayback: nil]; } );

但我收到了这个警告:

Class method `+stopPlayback` not found (return type defaults to `id`)

当我尝试运行时:

erminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[InstrumentGridViewController stopPlayback:]: unrecognized selector sent to class 0x13e50'

我确定该方法在那里,所以我真的不明白为什么会发生这种情况。

编辑:H2CO3 说我应该在当前运行的实例上调用 stopPlayback 方法。任何想法我怎么能做到这一点?

4

1 回答 1

0

因为该方法是作为实例方法实现的,而不是作为类方法实现的。您必须在InstrumentGridViewController 类的对象上调用它,而不是在类本身上调用它。

于 2012-08-19T21:08:28.227 回答