Me pregunto si alguien podría explicar por qué el recuento de un objeto administrado recién creado es retener 2. Aquí está el código que estoy trabajando con:NSManagedObject retener el recuento es 2 después de la creación
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
Album *newAlbum = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
NSLog(@"Album retain count: %d", [newAlbum retainCount]);
Según la documentación para el método insertNewObjectForEntity
, devuelve un objeto de autorreproducción creado recientemente. Entonces, esperaría que el recuento de retención fuera de 1 en lugar de 2. ¿Puede alguien explicar?
No solo no se garantiza que sea precisa , la documentación establece que "es muy poco probable que pueda obtener información útil de (retainCount)". – Aderstedt
http://whentouseretaincount.com es muy útil en este sentido – seanwolter