Ich weiß, es ist in Ordnung, eine Methode aufzurufen, als ob es leer war, obwohl es einen Rückgabewert (wie printf) hat, aber was ist damit?Objective c - Call-Objekt zurückkehrende Methode ohne Rückgabewert
Kann ich das einfach schweben lassen, ohne das Objekt zu benutzen, das es zurückgibt? Das ist so, als würde man [NSObject alloc] aufrufen, ohne das einem Zeiger oder irgendetwas zuzuweisen. Ist das ein Speicherleck? Der Grund ist, dass ich es nicht einer Variablen (dem Timer) zuweisen möchte, denn wenn ich es loslasse (oder automatisch lösche), wird es gelöscht, bevor es ausgelöst wird. Und ich möchte keinen Ivar benutzen. Also was soll ich tun?
EDIT: Ich fand heraus über [self performSelector: @selector (myMethod) withObject: nil afterDelay: 0.3]; Das ist viel besser als das Verwenden des Timers.
gibt es eine Möglichkeit, nur machen es ungültig, wenn er ausgelöst wird? Es wiederholt sich nicht. Es funktioniert jetzt perfekt, außer wenn es ein Speicherleck gibt. Leaks sagt nicht, dass es ein Leck gibt, und das Timer-Objekt wird niemals einem Zeiger zugewiesen oder freigegeben oder ungültig gemacht. – mk12
Ich habe es herausgefunden, ich wusste nicht, dass der Timer sich selbst als Argument ausgibt. Du sagst also, ich sollte den Timer ungültig machen und nicht freigeben? – mk12
Sie müssen recht haben, weil ich nach dem Entwerten versucht habe zu releasen und es abgestürzt ist ... Danke! – mk12