• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Autoreleasepool interne Funktion

  • Ersteller fedderle
  • Erstellt am

fedderle

Gast
hallo!

Ich habe mal eine kleine Frage!
Und zwar so ein Autoreleasepool! Was der an sich macht ist mir klar!
Die Frage die sich mir nur stellt, wie wird das ganze umgesetzt!
Also es ist ja so!

Ich lege einen Autoreleasepool an! Und nun muss ja irgendwie gewährleistet werden, dass jedes Objekt was nun angelegt wird auch dem autoreleasepool bekannt ist! Wie funktioniert das???
Weiss das jemand?

gruß
fedderle!
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Daduch! Dass jemand!

dem Object! die ! - autorelease Message !

schickt!

Alex
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
In der Regel legst du keinen ARP an. Das macht das System.
Negm-Awad, Objective-C und Cocoa, 3. Auflage:
Jetzt der Trick: In dem Moment, in dem Cocoa uns die Kontrolle gibt, also unsere Methode aufruft, legt es einen Autorelease-Pool an. In dem Moment, in dem wir fertig sind und die Kontrolle wieder an Cocoa abgeben, wird dieser Autorelease-Pool gelöscht – und damit die Instanzen freigegeben. Verlieren wir also alle Instanzen, die wir zwischen durch gemacht haben? Nein, denn wenn wir eine Instanz einem Setter übergeben, wird ja der Retain-Count um eins erhöht und sie bleibt bestehen.
 

fedderle

Gast
Erst mal Danke fuer die schnellen Antoworten: Aber.....:
ich glaub ich hab die Frage en bissl blöd formuliert!
Das Prinzip und was ich machen muss ist mir klar!

Aber verständnisshalber wuerde ich gerne mal wissen, wie so ein Autoreleasepool an sich quasi arbeitet.
Also wenn ein Objekt in den Pool soll, wird ja nirgends addObject oder ähnliches aufgerufen!
Es scheint ja so, dass wie durch ein "Wunder" der ARP aufeinmal weiß, dass dieses Objekt jetzt zu ihm gehört!
Das heisst er muss doch irgendwie benachrichtig werden, dass ein Obvjekt erstellt wurde (irgendwo intern). Oder????
Und genau wie das funktioniert. das wuerde mich interessieren!
Geht das ueber Notifications oder was wird da verwendet???

Quasi! Wie ist die Implementierung von so einem ARP?

gruß fedderle!
 

fedderle

Gast
ah ok! Danke!

Hatte ich wohjl ueberlesen! Sorry! ;)