C ++ Callbacks mit Objective-C, einer Anwendung für RtMidi

Ich habe einige der vorangegangenen Diskussionen zu diesem Thema gelesen, aber da ich relativ neu in Objective-C bin, verstehe ich sie nicht wirklich. (Blöcke, Selektoren und Delegierte sind für mich sehr neu.)

Hier ist die Situation: Ich verwende diese abstrakte Klasse RtMidi, die in c ++ geschrieben sind

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;
}

Ich habe auch eine Klasse, die Reciever, die diesen Rückruf (rtMidiCallback) implementiert. Und irgendwann in meiner Hauptdatei muss ich so etwas schreiben

        midiIn->setCallback(rtMidiCallback);

Dies wäre in einem C ++ - Kontext, aber in Objective-C habe ich keine Ahnung, wie es geht.

Wenn Sie irgendwelche Ideen oder Hinweise haben, würde ich mich freuen, mit Ihnen darüber zu diskutieren. Vielen Dank

Beste,

greg.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage