Ben Swift aşağıdaki kodu vardır:iOS'ta Swift'de bir CGDataProvider sürümünü nasıl bırakırım?
func cropToAlpha(image:CGImage) -> CGImage? {
let pixelDataProvider:CGDataProvider? = CGImageGetDataProvider(image)
if pixelDataProvider != nil {
let pixelData:CFData? = CGDataProviderCopyData(pixelDataProvider!)
documentation for CGImageGetDataProvider ve documentation for CGDataProviderCopyData hem bu nesneyi bırakmadan sorumludur
demek
Swift programlama kılavuzu hakkında deinitialization konuşur ama bu bir nesne bırakmakla aynı şey değil.
Bazı Objective-C cevapları (örn How do I release a CGImageRef in iOS) CFRelease
çağırarak önermek ama
CFRelease(pixelDataProvider)
gibi bir şey çalışırsanız o zaman derleyici hatası
'CFRelease' kullanılamaz olsun: Çekirdek Vakfı nesneleri otomatik olarak bellek yönetilir.
CGIm dokümantasyonundaki talebi nasıl onur duyarım ortaya çıkan nesneleri Swift'de yayınlayarak ageGetDataProvider ve CGDataProviderCopyData? Sen bırakın gerekmez