- Registriert
- 07.01.07
- Beiträge
- 432
Hallo alle Profis,
Ich habe mal wieder eine Frage. Und zwar geht es um die Methode allocWithZone:, wessen Beschrieb in der X-Code Dokumentation ich wahrscheinlich nicht ganz verstanden habe.
Situation:
Es existieren 3 Klassen, Klasse A, B und C.
Erste Variante:
Eine Instanz von Klasse A erstellt eine Instanz von Klasse B und möchte deren Eigentümer sein, anders gesagt, verantwortlich sein, damit der Instanz auch wieder einen release: oder autorelease: Befehl zu geben. A muss dafür folgendes tun:
Soweit ist mir alles klar.
Zweite Variante:
Eine Instanz von Klasse C erstellt eine Instanz von Klasse B und möchte die ebenfalls existierende Instanz der Klasse A zum Eigentümer machen.
Jetzt meine Frage:
Wird die Instanz von Klasse A der Eigentümer, wenn die Instanz von Klasse C folgendes tut?
Oder noch anders gefragt, ist es überhaupt möglich sowas zu tun?
Danke für eure Antworten
Poljp.
Ich habe mal wieder eine Frage. Und zwar geht es um die Methode allocWithZone:, wessen Beschrieb in der X-Code Dokumentation ich wahrscheinlich nicht ganz verstanden habe.
Situation:
Es existieren 3 Klassen, Klasse A, B und C.
Erste Variante:
Eine Instanz von Klasse A erstellt eine Instanz von Klasse B und möchte deren Eigentümer sein, anders gesagt, verantwortlich sein, damit der Instanz auch wieder einen release: oder autorelease: Befehl zu geben. A muss dafür folgendes tun:
Code:
B *instanzVonB = [[B alloc]init];
Zweite Variante:
Eine Instanz von Klasse C erstellt eine Instanz von Klasse B und möchte die ebenfalls existierende Instanz der Klasse A zum Eigentümer machen.
Jetzt meine Frage:
Wird die Instanz von Klasse A der Eigentümer, wenn die Instanz von Klasse C folgendes tut?
Code:
B *instanzVonB = [[B allocWithZone:[instanzVonA zone]] init];
Oder noch anders gefragt, ist es überhaupt möglich sowas zu tun?
Danke für eure Antworten
Poljp.
Zuletzt bearbeitet:

Das Reference-Counting ist mir überaus klar, wie das funktioniert, auch was es mit retain und release auf sich hat! (Die Doppelpunkte sollten da nicht stehen, da hast du Recht!)
– noch einmal klarstellen. Bedenke, dass Instanz und Beziehung ja ganz unterschiedliche Entitäten sind, insbesondere, eine Instanz beliebig viele Beziehungen haben kann.