malloc + Automatische Referenzzählung?

8

Wenn ich malloc zusammen mit der automatischen Referenzzählung verwende, muss ich den Speicher noch manuell freigeben?

%Vor%     
Stas Jaro 07.05.2012, 02:37
quelle

3 Antworten

18

Ja, Sie müssen den Aufruf an free selbst codieren. Ihr Zeiger kann jedoch indirekt an dem Referenzzählsystem teilnehmen , wenn Sie ihn in eine Instanz eines Objekts mit Referenzzählung einfügen:

%Vor%

Es gibt keine Möglichkeit, diesen Aufruf an free zu schreiben - auf die eine oder andere Weise, Sie müssen es in Ihrem Code haben.

    
dasblinkenlight 07.05.2012, 02:50
quelle
5

Ja. ARC gilt nur für Objective-C-Instanzen und nicht für malloc() und free() .

    
Greg Hewgill 07.05.2012 02:38
quelle
0

Fügen Sie in dealloc ein wenn nicht nil hinzu und weisen Sie es nil für sicher zu. Ich möchte nil nicht freigeben, malloc könnte außerhalb von init usw. verwendet werden.

%Vor%     
Gary Davies 15.07.2014 15:24
quelle