Zastanawiam się, czy ktoś może wyjaśnić dlaczego liczbę nowo utworzonej zarządzanego obiektu zachowują to 2. Oto kod pracuję z:NSManagedObject zachowują licznik jest 2 po utworzeniu
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]);
Według dokumentacja dla metody insertNewObjectForEntity
, zwraca nowo utworzony autoreleased obiekt. Tak więc oczekiwałbym, że zatrzymanie będzie miało wartość 1 zamiast 2. Czy ktoś może wyjaśnić?
Nie tylko nie gwarantuje się dokładności , dokumentacja stwierdza, że "jest bardzo mało prawdopodobne, że można uzyskać przydatne informacje z (retainCount)". – Aderstedt
http://whentouseretaincount.com jest bardzo pomocny w tym zakresie – seanwolter