Mam UIViewController (nazwij to NumberTwo), który przedstawiłem jako kontroler widoku modalnego z innego kontrolera UIViewController (nazwij go NumberOne). NumberTwo zawiera metodę touchesBegan, która nasłuchuje dotyku, a także ma metodę przyspieszeniomierza, która nasłuchuje zmian orientacji urządzenia w kierunku x, y lub z. NUMBERTWO posiada przycisk o nazwie „Gotowe”, który po podsłuchu, odrzuca się jako modalne kontrolera widoku:Aplikacja na iPhone - odwołanie modalnego kontrolera widoku nie dealloc to
[self dismissModalViewControllerAnimated:NO];
Ale wydaje się, że to wciąż nasłuchując akcentami, a to wciąż nasłuchując przyspieszeń. Jak mogę całkowicie zwolnić NumberTwo, kiedy go odrzucam? Próbowałem dodać komunikat o zwolnieniu w następujący sposób:
[self dismissModalViewControllerAnimated:NO];
[self release];
ale to spowodowało EXEC_BAD_ACCESS.
Co zrobić, jeśli używasz ARC? W jaki sposób zniszczyć viewController po zwolnieniu? – tybro0103
Jeśli używasz ARC, wówczas kompilator (w efekcie) wstawi [wydanie kontrolera] po tym, jak kontroler zostanie zaprezentowany modalnie. Nie trzeba podejmować żadnych kroków w sprawie zwolnienia - system iOS upewni się, że kontroler zostanie zwolniony w takich okolicznościach. – Obliquely