Ich habe das folgende Snippet einiges seeen:alloc + init mit synthetisierter Eigenschaft - führt dies dazu, dass die Retain-Anzahl um zwei erhöht wird?
In der Kopfzeile:
SomeClass *bla;
@property(nonatomic,retain) SomeClass *bla;
In der Implementierungsdatei:
@synthesize bla;
und dann
self.bla = [[SomeClass alloc] init];
I denke, dass diese Zuweisung die Retain-Anzahl für 'bla' um zwei erhöht; einmal durch den Alloc/Init-Aufruf, dann durch den Retain, den wir über den synthetisierten Property Setter haben wollten.
Als Ergebnis ich normalerweise meine Eigenschaften wie folgt erklären:
In der Kopfzeile:
SomeClass *_bla; // note the underscore
@property(nonatomic,retain) SomeClass *bla;
In der Implementierungsdatei:
@synthesize bla = _bla;
und dann
_bla = [[SomeClass alloc] init];
Pr meine ursprüngliche Annahme ist richtig - ich wäre interessiert zu hören, ob es einen "richtigen" Weg gibt, nämlich die Deklaration, Initialisierung und Speicherverwaltung von Immobilien?
Zuerst willkommen zu Stack Overflow. Eines der Dinge, die bei Stack wichtig sind, ist es, Antworten zu akzeptieren, die für Sie funktionieren. Es ist wichtig für die Beantworter und für Ihren eigenen Ruf. – smathy