El retainCount es el número de reclamaciones de propiedad pendientes en el objeto.
Toma posesión de un objeto si lo crea utilizando un método cuyo nombre comienza por "alloc" o "nuevo" o contiene "copia" (por ejemplo, alloc, newObject o mutableCopy), o si lo envía un mensaje de retención. Todos estos incrementan la retenciónCount.
Usted renuncia a la propiedad con el uso de "liberación" o "liberación automática". Estas disminuyen la retenciónCount.
Sin embargo, nunca debes prestar atención al valor de retainCount, es confuso y, en el peor de los casos, engañoso. Simplemente siga el memory management rules: tome posesión cuando necesite mantener una referencia a un objeto y renuncie a la propiedad cuando haya terminado, y no tendrá problemas.
Si está buscando retener, va a hacer las cosas mal, y simplemente se confundirá más.