我已经阅读了之前关于该主题的一些讨论,但由于我对 Objective-C 比较陌生,所以我并不真正理解它们。(块、选择器和委托对我来说很新)。
情况如下:我正在使用那些用 C++ 编写的抽象类 RtMidi
void MidiInApi :: setCallback( RtMidiIn::RtMidiCallback callback, void *userData )
{
if ( inputData_.usingCallback ) {
errorString_ = "MidiInApi::setCallback: a callback function is already set!";
RtMidi::error( RtError::WARNING, errorString_ );
return;
}
if ( !callback ) {
errorString_ = "RtMidiIn::setCallback: callback function value is invalid!";
RtMidi::error( RtError::WARNING, errorString_ );
return;
}
inputData_.userCallback = (void *) callback;
inputData_.userData = userData;
inputData_.usingCallback = true;
}
我还有一个 Reciever 类,它实现了该回调(rtMidiCallback)。在我的主文件中的某个时候,我需要写这样的东西
midiIn->setCallback(rtMidiCallback);
这将在 c++ 上下文中,但在 Objective-C 中我不知道该怎么做。
如果您有任何想法,指点,我很乐意与您讨论。非常感谢你
最好的,
格雷格。