Der retainCount ist die Anzahl der Eigentumsansprüche, die an dem Objekt ausstehen.
Sie übernehmen den Besitz eines Objekts, wenn Sie es mit einer Methode erstellen, deren Name mit "alloc" oder "new" beginnt oder "copy" enthält (z. B. alloc, newObject oder mutableCopy) oder wenn Sie es senden eine Retain-Nachricht Alle diese erhöhen den RetainCount.
Sie geben das Eigentum mit der Verwendung von "release" oder "autorelease" auf. Diese dekrementieren den RetainCount.
Allerdings sollten Sie niemals auf den Wert von retainCount achten, es ist bestenfalls verwirrend, im schlimmsten Fall irreführend. Folgen Sie einfach der memory management rules - Besitz übernehmen, wenn Sie einen Verweis auf ein Objekt behalten müssen und Eigentum abgeben, wenn Sie fertig sind, und Sie haben kein Problem.
Wenn Sie auf retainCount schauen, gehen Sie die Dinge falsch an, und Sie werden sich einfach weiter verwirren.