Mi chiedo se qualcuno potrebbe spiegare il motivo per cui il conteggio di un oggetto gestito appena creato conservano è 2. Ecco il codice con cui sto lavorando:NSManagedObject mantenere conteggio è 2 dopo la creazione
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]);
Secondo la documentazione per il metodo insertNewObjectForEntity
, restituisce un oggetto autoreleased appena creato. Quindi mi aspetterei che il conteggio dei ritiri sia 1 anziché 2. Qualcuno può spiegare?
Non solo non è garantito che sia accurato , la documentazione afferma che "è molto improbabile che tu possa ottenere informazioni utili da (retainCount)". – Aderstedt
http://whentouseretaincount.com è molto utile a questo proposito – seanwolter