私はスウィフトに次のコードを持っている:iOSでSwiftでCGDataProviderをリリースするにはどうすればよいですか?
func cropToAlpha(image:CGImage) -> CGImage? {
let pixelDataProvider:CGDataProvider? = CGImageGetDataProvider(image)
if pixelDataProvider != nil {
let pixelData:CFData? = CGDataProviderCopyData(pixelDataProvider!)
documentation for CGImageGetDataProviderとdocumentation for CGDataProviderCopyDataは、両方のあなたは、このオブジェクトを解放する責任がある
を言うの
スウィフトプログラミングガイドはおよそdeinitializationを語りますそれはオブジェクトを解放することと同じではありません。
いくつかのObjective-Cの解答(例えばHow do I release a CGImageRef in iOSを)CFRelease
を呼び出すことをお勧めが、私は
CFRelease(pixelDataProvider)
ような何かをしようとした場合、私はコンパイルエラー
'CFRelease' 使用できません取得:Core Foundationのオブジェクトを自動的にメモリ管理されます
ドキュメンテーションのCGIm ageGetDataProviderとCGDataProviderCopyDataの結果をSwiftで解放しますか?あなたはそれを解放する必要はありません