Я пытаюсь обновить код из примера CoreMidi, который я нашел по адресу http://mattg411.com/swift-coremidi-callbacks/
И код датирован до Swift 3, поэтому мне нужно внести некоторые коррективы. Проблема в том, что мне практически никогда не приходилось играть с небезопасными указателями и друзьями. Итак, я думаю, что мне удалось решить несколько проблем, но одна из них остается, и я получаю эту ошибку Cannot convert value of type 'UnsafePointer<MIDINotification>' to expected argument type 'UnsafePointer<_>'
код, который дает эту ошибку, ...UnsafePointer<MIDIObjectAddRemoveNotification>(message)
часть этого метода:
func MIDIUtil_MIDINotifyProc(message: UnsafePointer<MIDINotification>, refCon: UnsafeMutableRawPointer) -> Void
{
let notification:MIDINotification = message.pointee
if (notification.messageID == .msgObjectAdded || notification.messageID == .msgObjectRemoved)
{
let msgPtr:UnsafePointer<MIDIObjectAddRemoveNotification> = UnsafePointer<MIDIObjectAddRemoveNotification>(message)
let changeMsg:MIDIObjectAddRemoveNotification = msgPtr.pointee
let h:AnyObject = unbridgeMutable(ptr: refCon)
let handler:MIDICallbackHandler = h as! MIDICallbackHandler
handler.processMidiObjectChange(message: changeMsg)
}
}
РЕДАКТИРОВАТЬ: я создал небольшой проект из нескольких руководств, которые нашел в сети. включая исправление от пользователя 28434