Ja, static ist ein guter Weg um eine Variable sicher von allen Methoden deines Objekts aus zuverlässig zu verändern.
Nein, die Benutzung einer static Variable ist in den meisten Fällen keine gute Idee.
Du kapselst nichts, bekommst keine Änderungen von außen mit und hast unüberschaubar viele Abhängigkeiten.
Vergleiche:
Alles anzeigen
Und
Alles anzeigen
Der Mehraufwand hält sich in Grenzen, die gewonnenen Vorteile sind unbezahlbar.
Generell solltest du jeden Request über ein und dasselbe Request-Instanzobjekt durchführen. Dann kann es seine ID nämlich schön selbst verwalten.
(Wofür auch immer du diese brauchst.)
Nein, die Benutzung einer static Variable ist in den meisten Fällen keine gute Idee.
Du kapselst nichts, bekommst keine Änderungen von außen mit und hast unüberschaubar viele Abhängigkeiten.
Vergleiche:
C-Quellcode
- static uint counter = 0;
- - (void) tueDingEins() {
- // Hier mach ich zuerst was.
- counter++;
- // Hier noch was.
- counter++;
- // Oh, und hier.
- counter++;
- }
- - (void) tueDingZwei() {
- // Mal zurücksetzen, weil es geht.
- counter = 0;
- // Hier mach ich was und vertippe mich...
- counter--; // BÄM – alles kaputt. counter ist jetzt nämlich irgendwas.
- }
Und
C-Quellcode
- uint counter = 0;
- - (void)increaseCounter {
- counter++;
- }
- - (void)resetCounter {
- counter = 0;
- }
- - (void) tueDingEins {
- // Hier mach ich zuerst was.
- [self increaseCounter];
- // Hier noch was.
- [self increaseCounter];
- // Oh, und hier.
- [self increaseCounter];
- }
- - (void) tueDingZwei {
- // Mal zurücksetzen, weil es geht.
- [self resetCounter];
- // Hier mach ich was und vertippe mich...
- [self decreaseCounter]; // Compiler meckert, dass es die Methode gar nicht gibt. Kein 'BÄM' zur Laufzeit.
- }
Der Mehraufwand hält sich in Grenzen, die gewonnenen Vorteile sind unbezahlbar.
Generell solltest du jeden Request über ein und dasselbe Request-Instanzobjekt durchführen. Dann kann es seine ID nämlich schön selbst verwalten.
(Wofür auch immer du diese brauchst.)
«Applejack» "Don't you use your fancy mathematics to muddle the issue!"
Iä-86! Iä-64! Awavauatsh fthagn!
Iä-86! Iä-64! Awavauatsh fthagn!
kmr schrieb:
Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P