与UnsafeMutablePointer一起使用时,Swift中的局部变量是否隐式初始化为nil?

时间:2018-10-16 05:17:53

标签: swift initialization memory-corruption unsafemutablepointer memory-safety

var cgImage: CGImage?
VTCreateCGImageFromCVPixelBuffer(pixelBuffer,
                                 options: nil,
                                 imageOut: &cgImage)
return cgImage

VTCreateCGImageFromCVPixelBuffer()接受UnsafeMutalePointer。假设发生错误,并且未分配给cgImage。我有可能会返回未初始化的变量吗?如果是这样,我需要使用nil初始化变量:

var cgImage: CGImage? = nil

这不是Do Optionals default to nil?的伪装,因为该问题涉及UnsafeMutablePointers,并且在该问题涉及属性时涉及局部变量。

0 个答案:

没有答案