Saya menggunakan CFMutableArrayRef dalam kode saya. Di sana saya menambahkan beberapa elemen CFTypeRef.

Ketika saya selesai menggunakan array, apakah saya perlu memanggil CFArrayRemoveAllValues(myArray); sebelum benar-benar melepaskan array atau hanya memanggil CFRelease(myArray); akan membatalkan alokasi konten array juga?

Terima kasih sebelumnya

0
RuLoViC 3 April 2021, 12:57

1 menjawab

Jawaban Terbaik

Memanggil CFRelease adalah semua yang perlu Anda lakukan, dengan asumsi objek yang terkandung dalam array dikelola dengan tepat.

CFArray adalah open-source dan Anda dapat melihat sendiri implementasinya di https://opensource.apple.com/source/CF/CF-1153.18/CFArray.c.auto.html (cari __CFArrayDeallocate dan __CFArrayReleaseValues).

CFArray bebas pulsa dijembatani dengan NSArray jadi di Objective-C jarang perlu menggunakan CFArray secara langsung.

1
sbooth 3 April 2021, 11:52