Wie kann ich UnsafeMutablePointer<T?>
als UnsafeMutablePointer<UnsafeRawPointer?>!
Swift Ordnen Array von Zeigern
zum Beispiel verwenden Der Versuch, n Speicherblöcke für Typ T, um Werte aus einer CFSet cfsetref
zuteilen:
var array = UnsafeMutableRawPointer<T?>.allocate(capacity: n)
CFSetGetValues(cfsetref, array) // error
Welche gibt den Fehler
Kann nicht konvertieren Wert vom Typ ‚
UnsafeMutablePointer<T?>
‘ zu erwarten Argument Typ "UnsafeMutablePointer<UnsafeRawPointer?>!
'
ich versuchte zu erklären array
als UnsafeMutablePointer<UnsafeRawPointer?>
dann
Aber ich bekomme immer noch EXC_BAD_INSTRUCTION
Fehler beim Zugriff versucht array[i]
(nach den Speicher wieder zu T
Bindung)
Überbrückung zu 'Set' fühlt sich richtig an. Mein 'CFSet' kommt von' IOHIDManagerCopyDevices', wobei 'T' ein' IOHIDDevice' ist. Ich habe es nicht geschafft, meine eigenen Zeiger/Speicher zu verwalten, aber die Überbrückung zu 'Set' scheint aus der Box zu funktionieren (und ist so viel einfacher). Vielen Dank. – comfortablejohn