ios – Speicherverwaltung: Problem mit der manuellen Veröffentlichung von CFStringRef
phpcn_u1582
phpcn_u1582 2017-06-10 09:48:13
0
1
767

Vor kurzem habe ich mir Quellcode von Drittanbietern angesehen, der einige Datentypen im Core Foundation-Framework betraf, und dabei auf einige Speicherverwaltungsabstürze gestoßen. Ich hoffe, hier Hilfe vom Master zu erhalten.

Frage:

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

Solange es läuft, kommt es zu folgendem Absturz

Aber ich habe den Code unten ausprobiert, einen CFStringRef erstellt und ihn dann manuell freigegeben, es war kein Problem

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

Eigentlich bin ich ziemlich verwirrt über die Methode zum Erstellen von Arrays, die ich im Internet sehe. Ich habe im Internet nach der Verwendung des Core Foundation-Frameworks gesucht, aber es gibt immer noch relativ wenige und ich habe keine Ahnung, wie ich anfangen soll.

Ich warte online und hoffe auf eine effektive Antwort, danke~

phpcn_u1582
phpcn_u1582

Antworte allen (1)
Ty80

keys 是指针变量 存在栈里 不用手动释放,
keys[0] keys[1] 才是 CFStr 需要手动释放

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!