Masz interesujący problem, gdy istnieje klasa, do której odwołuje się w układzie XIB (podklasa UIScrollView) i nie jest ona de-alokowana zgodnie z Instruments/Allocations i nie narusza rutyny dealloc. Nazwijmy go Sclass1.IOS 6.1 z klasą ARC z XIB nie jest zwolniony, UIClassSwapper
Istnieje klasa używająca (nazwijmy to Uclass), która ma plik XIB i gniazdko.
@property (nonatomic, weak) IBOutlet Sclass1* sclass1;
To jest poprawnie podpięty do układu pliku XIB.
Sclass1 to właściwość przydzielana po załadowaniu XIB dla Uclass. Uclass jest zwalniany, a następnie odtwarzany od czasu do czasu, a co za tym idzie, mamy kolejną instancję Sclass1, ale Sclass1 nigdy nie zniknie i nie może znaleźć innego odniesienia do niego.
Wywiercić w instrumencie pokazuje jeden Malloc i to jest to.
FYI, klasa rozkręci z
[UIClassSwapper initWithCoder:]
To jest poprawna odpowiedź, wszystko, co jest IBOutletem, musi być słabe, widok nie zostaje zwolniony, ponieważ kontroler ma punkt zatrzymania do wylotu, a wylot ma odniesienie do kontrolera. Tworzenie cyklu zatrzymania. Mieć uprowadzenie. –