Ich arbeite an einem einfachen Proof-of-Concept für eine iPhone App (und wichtige Informationen, ich bin ziemlich neu in der Entwicklung von Mac OSX). Ich habe eine Ansicht-basierte App mit einem Timer erstellt. Ich habe meinen NSTimer in der Schnittstelle des Controllers meiner App deklariert, @property und @synthesize verwendet und initialisiere ihn in der viewDidLoad-Methode des Controllers mit der Methode "planedTimerWithTimeInterval". Mein Selektor ist eine Methode mit der Signatur -(void)someMethod:(NSTimer *)timer
, die in der Schnittstelle deklariert ist und auch in der Implementierungsdatei des Controllers definiert ist. Ich kann über die Zeile hinausgehen, wo ich den Timer einstelle und sehe, dass er auf ein gültiges Objekt zeigt, aber mein Programm geht nicht weiter als das Ende der viewDidLoad Methode und erreicht niemals den Breakpoint in der ersten Zeile meiner Methode, die von aufgerufen wird der Timer. Ich sehe auch GDB: Program received bad signal: "EXC_BAD_ACCESS"
in der Statusleiste von xcode an diesem Punkt (ViewDidLoad Ende ist erreicht). Ich habe in IB nichts gemacht, aber eine Ansicht und eine Auswahl hinzugefügt, nur damit ich sehen kann, ob die Benutzeroberfläche tatsächlich geladen wird ... tut es nie.Benutzt ich NSTimer korrekt in der iPhone View-basierten App?
Also, mache ich etwas falsch mit dem NSTimer, oder sind meine Probleme anderswo? Wie kann ich die Debugging-Tools in xcode verwenden, um mehr Informationen zu erhalten?
Können Sie einen Code schreiben? Sie übergeben den falschen Selektor wahrscheinlich an den NSTimer oder verwenden @selector nicht. –
Der Stapel ist auch das nützlichste Werkzeug, um ein EXC_BAD_ACCESS zu verstehen (was für "ein ungültiger Zeiger gejagt" ist). In welcher Codezeile warst du, als du abgestürzt bist? Wenn du damals in einem Rahmen warst, was hat es getan? –
Sieht aus wie Sie fogot ":" beim Erstellen von Selektor Es muss sein: [NSTimer terminatedTimerWithTimeInterval: 1 target: self-Selektor: @selector (someMethod :) userInfo: keine Wiederholungen: YES]; – oxigen