6.10 Retain und Release in einem Setter
Es folgt ein Beispiel für das retain/release-Muster, das Sie beim Ändern eines Wertes in einem Objekt verwenden werden.[49] Nehmen wir an, Sie haben bereits ein Objekt namens greeter
vom Typ Greeter
erzeugt. Eine idiomatische setGreeter:
-Methode mit retain/release-Muster würde so aussehen:
-(void) setGreeter: (Greeter *) newGreeter { if (newGreeter != greeter) { [newGreeter retain]; [greeter release]; greeter = newGreeter; } }
Ihnen wurde das Objekt newGreeter
gesendet. Es soll Ihnen gehören, damit Sie etwas damit anstellen können, weshalb Sie es über retain festhalten müssen. Andererseits sind Sie im Begriff, die Variable greeter
auf das durch newGreeter
referenzierte Objekt zeigen zu lassen.
Zuerst stellen ...
Get Cocoa-Programmierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.