Unmanaged.passUnretained(self).toOpaque() 到 Swift 3
Posted
技术标签:
【中文标题】Unmanaged.passUnretained(self).toOpaque() 到 Swift 3【英文标题】:Unmanaged.passUnretained(self).toOpaque() to Swift 3 【发布时间】:2016-06-24 03:24:35 【问题描述】:我有以下错误:
图片中的代码行是这样的:
context.info = UnsafeMutablePointer(Unmanaged.passUnretained(self).toOpaque())
我不确定如何解决这个问题。我确实调查过:
https://github.com/apple/swift-evolution/blob/master/proposals/0017-convert-unmanaged-to-use-unsafepointer.md
但是,我不确定如何正确修复错误。
有什么帮助吗?
【问题讨论】:
请显示代码,而不是代码图片。谢谢! ***.com/questions/30786883/… 的副本? 【参考方案1】:UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())
为我工作
【讨论】:
【参考方案2】:这似乎有效:
context.info = UnsafeMutablePointer(OpaquePointer(bitPattern: Unmanaged.passUnretained(self)))
【讨论】:
您是否也有实现逆向的方法,即以类似的方式从context.info
中提取mySelf
?以上是关于Unmanaged.passUnretained(self).toOpaque() 到 Swift 3的主要内容,如果未能解决你的问题,请参考以下文章