Je me demande si quelqu'un pourrait expliquer pourquoi le conserver comptage d'un objet géré nouvellement créé est 2. Voici le code que je travaille avec:NSManagedObject conserver le nombre est 2 après la création
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]);
Selon Dans la documentation de la méthode insertNewObjectForEntity
, il renvoie un nouvel objet auto-libéré. Donc je m'attendrais à ce que le nombre de retenue soit de 1 au lieu de 2. Quelqu'un peut-il expliquer?
Non seulement cela n'est pas garanti , la documentation indique qu '"il est très improbable que vous puissiez obtenir des informations utiles de (retainCount)". – Aderstedt
http://whentouseretaincount.com est très utile à cet égard – seanwolter