Hi Leute,
ich habe ein kleines "Problemchen", ich versuche rauszufinden wie "wir" das Problem mit Objekten lösen die externe Ressourcen verwenden.
Ein einfaches Beispiel wöre eine Logger-Klasse die in verschiedenen Dateien Ausgaben protokoliert. Dazu gibts dann eine
-(id) initWithFileName:(NSString *)aFilename
Methode die bei Aufruf eine Datei-Objekt erzeugt.
Sobald das Logging in die eine spezielle Datei nicht mehr benötigt wird, möchte ich die Datei schließen und das Objekt loswerden. Und hier liegt der Hund begraben, haben "wir" für diese Aufräumarbeiten eine Standard-Methode? Ich denke da an sowas wie die Dispose() Methode in C#.
Mein Code zum "Schließen" des Loggers würde dann so aussehen:
[logger dispose];
[logger release];
logger = nil;
Damit stelle ich sicher, dass die Log-Datei immer geschlossen wird und es ist egal ob mit oder ohne GC gearbeitet wird.
Die spannende Frage ist jetzt, nennen "wir" so ne Aufräummethode dispose oder hat Apple da was eigenes und ich habs nur nicht gefunden.
Man liest sich
PEter
ich habe ein kleines "Problemchen", ich versuche rauszufinden wie "wir" das Problem mit Objekten lösen die externe Ressourcen verwenden.
Ein einfaches Beispiel wöre eine Logger-Klasse die in verschiedenen Dateien Ausgaben protokoliert. Dazu gibts dann eine
-(id) initWithFileName:(NSString *)aFilename
Methode die bei Aufruf eine Datei-Objekt erzeugt.
Sobald das Logging in die eine spezielle Datei nicht mehr benötigt wird, möchte ich die Datei schließen und das Objekt loswerden. Und hier liegt der Hund begraben, haben "wir" für diese Aufräumarbeiten eine Standard-Methode? Ich denke da an sowas wie die Dispose() Methode in C#.
Mein Code zum "Schließen" des Loggers würde dann so aussehen:
[logger dispose];
[logger release];
logger = nil;
Damit stelle ich sicher, dass die Log-Datei immer geschlossen wird und es ist egal ob mit oder ohne GC gearbeitet wird.
Die spannende Frage ist jetzt, nennen "wir" so ne Aufräummethode dispose oder hat Apple da was eigenes und ich habs nur nicht gefunden.
Man liest sich
PEter
http://pdps.mybrute.com/