gpt4 book ai didi

swift - “CGImageSource”没有名为 'takeUnretainedValue' 的成员

转载 作者:行者123 更新时间:2023-11-30 10:19:37 25 4
gpt4 key购买 nike

互联网上的很多帖子都说我可以使用以下代码返回未保留的图像源:

let imageData1 = image.TIFFRepresentation
let source1 = CGImageSourceCreateWithData(imageData1 as CFDataRef, nil).takeUnretainedValue()
let maskRef1 = CGImageSourceCreateImageAtIndex(source1, UInt(0), nil)

但是,我收到以下编译时错误:

'CGImageSource' does not have a member named 'takeUnretainedValue'

我做错了什么吗?或者是否已删除此方法以支持其他方法?

最佳答案

您只使用takeUnretainedValuetakeRetainedValue处理非托管对象时(例如,某些返回 Unmanaged<AnyObject>! 或类似内容的函数)。在本例中,这不是非托管对象,因此不需要它。

顺便说一句,当从 Core Foundation 函数返回 Create 的对象时或Copy从名字上看,这个对象的所有权已经转移给你了,你有责任释放它(参见 Create Rule )。在这些情况下,您几乎总是想使用 takeRetainedValue ,以便该对象的内存管理由 Swift 的 ARC 实现自动管理。如果您使用takeUnretainedValue ,除非您手动释放通过符合 Create Rule 的方法获得的与此对象关联的内存,否则您将泄漏内存。 .

关于swift - “CGImageSource”没有名为 'takeUnretainedValue' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27798710/

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