Natknąłem się dzisiaj (a właściwie zrozumiałem jego sens) na następujący problem:
W modelu danych dla aplikacji mam 2 klasy: A i B.
A ma wskaźnik do obiektów typu B (B* obiektB), B ma tablicę elementów typu A (NSMutableArray *tablicaA). Po wczytaniu modelu liczniki retainCount wynoszą przykładowo: 10 dla A i 5 dla B.
Teraz robię update modelu i wyżej w aplikacji podstawiam całkiem nowe obiekty, np:W tym momencie, jako że oba wskaźniki są zadeklarowane jakoKod:wskaźnikDoA = [[A alloc] init]; wskaźnikDoB = [[B alloc] init];, wywoływany jest setter i dla każdego z nich wołany jest release jeden raz. Wtedy nasze retainCount wynoszą 9 dla A i 4 dla B, tracimy oczywiście wskaźniki do starych obiektów, bo podstawiłem nowe i mam wyciek pamięci.Kod:@property (nonatomic, retain)
Spotkał się ktoś kiedyś z takim problemem ? Jak można to ogarnąć, żeby zdealokować cały stary model i zastąpić go nowym ?




LinkBack URL
About LinkBacks

