相关疑难解决方法(0)

Swift UnsafeMutablePointer <Unmanaged <CFString>?>分配和打印

我是swift的新手,我在处理非托管CFString(或NSString)的指针时遇到了一些困难.我正在研究一个暗示使用UnsafeMutablePointer?>的CoreMIDI项目,你可以在这个函数中看到:

func MIDIObjectGetStringProperty(_ obj: MIDIObjectRef,
                           _ propertyID: CFString!,
                           _ str: UnsafeMutablePointer<Unmanaged<CFString>?>) -> OSStatus
Run Code Online (Sandbox Code Playgroud)

我的问题是我想分配一个缓冲区来接收属性的内容(_str),然后调用上面的函数,最后使用println在控制台中打印内容.

目前我写了这个:

// Get the first midi source (I know it exists)
var midiEndPoint : Unmanaged<MIDIEndpointRef> = MIDIGetSource(0)

//C reate a "constant" of 256
let buf = NSMutableData(capacity: 256) 

// Allocate a string buffer of 256 characters (I'm not even sure this does what I want)
var name = UnsafeMutablePointer<Unmanaged<CFString>?>(buf!.bytes)

// Call the function to fill the string buffer with the display name of the midi device …
Run Code Online (Sandbox Code Playgroud)

midi unmanaged unsafe-pointers ios swift

6
推荐指数
1
解决办法
4543
查看次数

标签 统计

ios ×1

midi ×1

swift ×1

unmanaged ×1

unsafe-pointers ×1