cari

Rumah  >  Soal Jawab  >  teks badan

ios - Pengurusan memori: Masalah keluaran manual CFStringRef

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_u1582phpcn_u15822726 hari yang lalu834

membalas semua(1)saya akan balas

  • PHP中文网

    PHP中文网2017-06-10 09:50:13

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

    balas
    0
  • Batalbalas