Ich habe ein Projekt zu ARC refaktoriert. Es sieht gut aus, aber es gibt ein Objekt, das das Benachrichtigungscenter verwendet. Ich habe den Beobachter in einer benutzerdefinierten Dealloc-Methode entfernt. Das hat im Nicht-ARC-Projekt gut funktioniert. Es funktioniert auch in ARC, aber ich bekomme eine verrückte Warnung: "Methode möglicherweise einen [Super Dealloc] Anruf fehlt." In einem ARC-Projekt wird es automatisch für mich erledigt, wenn die Methode endet. Noch besser: Ich darf es nicht in ARC-Projekten nennen! Das muss ein XCode-Bug sein, oder? Hier ist mein Code:"Missing [Super Dealloc]" Warnung in einem ARC-Projekt
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
// [super dealloc]; will be called automatically
}
Ich möchte immer Code schreiben, der Warnungen nicht wirft. Gibt es einen Weg um das gelbe Ausrufezeichen?
Es sollte jede Warnung nicht, wie Sie vermutet. Bist du sicher, dass du ARC richtig abgeschaltet hast? – DrummerB
Ich habe ARC eingeschaltet! Ich habe das Menü Bearbeiten/Refactor/In Objective-C ARC konvertieren ... verwendet. –
Stellen Sie sicher, dass die spezifische Implementierungsdatei nicht ohne ARC-Unterstützung erstellt wird - überprüfen Sie Build-Phasen-> Quellen für diesen Zweck kompilieren. – Till