ios - Pengurusan memori: Masalah keluaran manual CFStringRef
phpcn_u1582
phpcn_u1582 2017-06-10 09:48:13
0
1
821

Baru-baru ini saya sedang melihat kod sumber pihak ketiga, yang melibatkan beberapa jenis data dalam rangka kerja Asas Teras, dan mengalami beberapa ranap pengurusan memori. Saya telah melupakan banyak perkara tentang suara C. Saya berharap mendapat bimbingan daripada tuan di sini.

Soalan:

//在网上例子上看到的这种方式创建的一个CFString的数组
CFStringRef keys[2];
keys[0] = CFSTR("key1");
keys[1] = CFSTR("key2");
//所以Core Foundation框架中的对象都不支持ARC,需要手动释放
CFRelease(keys);

Selagi ia berjalan, ranap berikut akan berlaku

Tetapi saya mencuba kod di bawah, mencipta CFStringRef dan kemudian mengeluarkannya secara manual, tiada masalah

CFStringRef aSTR = CFSTR("A STRING");
CFRelease(aSTR);

Sebenarnya, saya agak keliru tentang kaedah mencipta tatasusunan yang saya lihat di Internet. Saya menyemak di Internet tentang penggunaan rangka kerja Asas Teras, tetapi masih terdapat sedikit, dan saya tidak tahu bagaimana untuk bermula.

Menunggu dalam talian, dengan harapan mendapat jawapan yang berkesan, terima kasih~

phpcn_u1582
phpcn_u1582

membalas semua(1)
Ty80

kunci ialah pembolehubah penunjuk dan disimpan dalam timbunan Ia tidak perlu dikeluarkan secara manual
kunci[0][1] ialah CFStr dan perlu dikeluarkan secara manual.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan