Chamadas de retorno de C ++ com objective-C, um aplicativo para RtMidi

Eu li várias das discussões anteriores sobre o assunto, mas como sou relativamente novo no Objective-C, eu realmente não os entendo. (Blocos, seletores e delegados são muito novos para mim).

Aqui está a situação: Estou usando as classes abstratas RtMidi que estão escritas em c ++

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

Eu também tenho uma classe que Reciever que implementa esse retorno de chamada (rtMidiCallback). E em algum momento no meu arquivo principal eu preciso escrever algo assim

        midiIn->setCallback(rtMidiCallback);

Isso seria em um contexto de c ++, mas em Objective-C não tenho idéia de como fazê-lo.

Se você tem alguma idéia, ponteiros, ficaria feliz em discutir sobre isso com você. Muito obrigado

melhor,

greg.

questionAnswers(1)

yourAnswerToTheQuestion