gpt4 book ai didi

swift3 - 在 Swift 3 中将类型为 'UnsafeMutableRawPointer' 的变量转换为 UnsafeMutablePointer<>

转载 作者:行者123 更新时间:2023-12-02 08:17:22 25 4
gpt4 key购买 nike

从类定义开始,如下所示:

class Player {
var playbackFile: AudioFileID? = nil
var packetPosition: Int64 = 0
var numPacketsToRead: UInt32 = 0
var packetDescs: UnsafeMutablePointer<AudioStreamPacketDescription>? = nil
var isDone = false
}

然后定义一个回调函数:

let AQOutputCallback: AudioQueueOutputCallback = {(inUserData, inAQ, inCompleteAQBuffer) -> () in
let aqp = UnsafeMutablePointer<Player>(inUserData).pointee // this gives an error

// more code
}

这会导致第二行出现错误:“无法使用‘UnsafeMutableRawPointer’类型的参数列表调用‘UnsafeMutablePointer’类型的初始化程序?”

如何从类型“UnsafeMutableRawPointer”中正确转换?到 Swift 3 中的“UnsafeMutablePointer”?

最佳答案

以下修改消除了错误:

let aqp = inUserData!.assumingMemoryBound(to: Player.self).pointee

关于swift3 - 在 Swift 3 中将类型为 'UnsafeMutableRawPointer' 的变量转换为 UnsafeMutablePointer<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com