Le paramètre retainCount représente le nombre de revendications de propriété en attente sur l'objet. Vous prenez la propriété d'un objet si vous le créez à l'aide d'une méthode dont le nom commence par "alloc" ou "new" ou contient "copy" (par exemple, alloc, newObject ou mutableCopy) ou si vous l'envoyez un message de retenue. Tous ces éléments incrémentent le retainCount.
Vous renoncez à la propriété en utilisant "release" ou "autorelease". Ceux-ci décrémentent le retainCount.
Cependant, vous ne devriez jamais faire attention à la valeur de retainCount, c'est au mieux déroutant, au pire trompeur. Il suffit de suivre le memory management rules - prenez possession de la propriété lorsque vous avez besoin de garder une référence à un objet et de renoncer à la propriété lorsque vous avez terminé, et vous n'aurez pas de problème.
Si vous regardez retainCount, vous allez dans le mauvais sens et vous vous perdrez dans la confusion.