performSelector: withObject: und sein Retain-Verhalten

Dies ist eine bereits beantwortete Frage innerhalb von SO aberIch kann es nirgendwo in der Apple-Dokumentation finden. Könnten Sie mich in die richtige Richtung weisen?

Innerhalb der folgenden Themen

Muss ich ein Objekt behalten, bevor ich es an -performSelector: withObject: afterDelay: übergebe?

Die Auswirkung auf die Anzahl der Beibehaltungen von performSelector: withObject: afterDelay: inModes

Wird das Objekt, das performSelector: withObject: afterDelay aufruft, von NSRunLoop beibehalten?

Das Standardverhalten scheint wie folgt zu sein:es behält den Empfänger und die Argumente.

Ich benutze den folgenden Code

[[self delegate] performSelector:@selector(tryToSendStoreData:) withObject:userData];

woheruserData ist ein autoreleased oject.

Protokollierung der Aufbewahrungsanzahl (Ich weiß, dass es nicht gültig sein könnte, es zu tun) die übergebenen Daten werden inkrementell gezählt. Wenn die Methode für den Delegaten aufgerufen wird, ist die Anzahl der Beibehaltungen ungleich eins.

Meine Frage lautet also: Muss ich eine Speicherverwaltung durchführen, um Lecks zu vermeiden, oder muss ich mich auf Apple-Produkte verlassen? Hier spreche ich als Agnostiker, da ich die richtigen Dokumente nicht finden kann.

Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage