Ios 如何在Swift中定义MIDINNOTIFYPROC?

Ios 如何在Swift中定义MIDINNOTIFYPROC?,ios,swift,midi,coremidi,Ios,Swift,Midi,Coremidi,我试图让MIDI会话使用swift代码,但遇到了一些学员的问题 这是Objective-C中的一个工作示例 OSStatus status = MIDIClientCreate(CFSTR("MIDI Client"), MIDIStateChangedHandler, nil, &client); void MIDIStateChangedHandler(const MIDINotification *message, void *refCon) { NSLog(@"MIDI

我试图让MIDI会话使用swift代码,但遇到了一些学员的问题

这是Objective-C中的一个工作示例

OSStatus status = MIDIClientCreate(CFSTR("MIDI Client"), MIDIStateChangedHandler, nil, &client);

void MIDIStateChangedHandler(const MIDINotification *message, void *refCon)
{
    NSLog(@"MIDIStateChanged!");
}
这就是我正在尝试的Swift

var status = MIDIClientCreate("the client", notifyProc: MIDIStateChangedHandler, notifyRefCon: nil,  outClient: client) 

func MIDIStateChangedHandler(message: MIDINotification, refCon: UnsafeMutablePointer<Void>)
{
    println("MIDIStateChanged!");
}

苹果公司没有一个用于MIDI NOTIFYPROC或其他我想使用的MIDI函数的Swift示例,我无法确定正确的方法参数类型。

目前无法将Swift函数转换为C函数,因此仅使用Swift是不可能的。下面是一个关于如何尽可能少地使用Objective-C进行此操作的示例:

var status = MIDIClientCreate("the client", notifyProc: MIDIStateChangedHandler, notifyRefCon: nil, outClient: client)