Wenn ich eine Ansicht mit einem perform nach einer Verzögerung Brand:Wie kann man einen Selektor ausschalten, der nach einer Verzögerung (auf dem iPhone) ausgelöst wird?
[self performSelector:@selector(generateBall) withObject:NULL afterDelay:1.5];
... aber ich removeFromSuperview diese Ansicht vor den Wählern Feuer (zum Beispiel aufgrund von Benutzer-Interaktion), dann meiner app stürzt ab .
Gibt es eine Möglichkeit, den verzögerten Selektor in der Dealloc-Methode für diese Ansicht zu beenden?
EDIT:
Ich habe versucht beide:
[[NSRunLoop mainRunLoop] cancelPerformSelector:theBall target:self argument:nil];
und
[[NSRunLoop currentRunLoop] cancelPerformSelector:theBall target:self argument:nil];
und während beide arbeiten (so dass mir eine neue Ansicht laden), um die vorherige Ansicht Enden Laden up mir einen grauen Bildschirm geben.
Ich konnte keine anderen Tutorials oder andere Informationen über cancelPerformSelector als die Apple-Dokumente finden, die aufgelistet wurden, und die Dokumentation zu Threads und Runloops scheint sehr verworren zu sein (meistens weil sie nicht funktionieren Codebeispiele, die es mir erleichtern würden, durchzulaufen und zu verstehen, was vor sich ging.
Danke für die Links hinzufügen. – kperryua
Kein Problem. Du brauchst die Wiederholung mehr als ich =). –
Irgendeine Idee, wo ich ein funktionierendes Codebeispiel sehen könnte, das diese benutzt? Das ist alles was ich bisher gefunden habe ... http://www.oomori.com/cocoafw/Foundation/NSRunLoop/cancelPerforrsWithTarget.html –