Chcę tylko dodać moje doświadczenie jako dodatek do odpowiedzi Quinna Taylora.
W jednej z moich aplikacji muszę analizować i zapisywać dane w podstawowych obiektach danych, a później wyświetlać te obiekty w widokach. W rzeczywistości aplikacja działa dobrze i wcale się nie zawiesza, dopóki nie próbowałem wykonać testu warunków skrajnych, aby wielokrotnie nawigować tam iz powrotem, próbowałem otworzyć wiele widoków tak szybko, jak to możliwe. Aplikacja ulega awarii z powyższym komunikatem.
Wypróbowałem wszystkie metody, które zasugerował Quinn w swojej odpowiedzi i nadal nie udało mi się ustalić, gdzie jest dokładna przyczyna.
Ustawiłem NSZombieEnabled = YES i NSStackLogging = YES, uruchomiłem powłokę poleceń malloc_history, aby dowiedzieć się, dlaczego, ale nadal nie mam szczęścia. Zawsze wskazuje miejsce, w którym zapisuję dane w podstawowych obiektach danych, w rzeczywistości sprawdzałem tysiące razy ponad zwolnione obiekty, nic dziwnego.
Uruchomienie w instrumentach z różnymi narzędziami (alokacje, wycieki itp.) Nadal nie pomogło. Włącz Guard Malloc nadal nic nie ma.
Ostateczna ratunek: próbowałem wrócić do widoków, w których obiekty zostały zabrane z danych podstawowych i wysłałem wiadomość o zachowaniu do wszystkich tych obiektów oraz odnotowałem te zmiany. To rozwiązało problem !!!
Więc dowiedziałem się, że nie udało mi się jednego zachować, to jest dokładnie przyczyna. Chcę tylko podzielić się moim doświadczeniem, aby mieć kolejną ratunek dla swojej aplikacji.