• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Wann braucht man Klassenmethoden, wann Instanzmethoden ?

ecco55

Tokyo Rose
Registriert
26.10.14
Beiträge
71
Hallo,

vielleicht kann mir das einer erklären :D.
Wann braucht man jetzt genau eine Klassenmethode und wann eine Instanzmethode ? Also den Unterschied verstehe ich theoretisch, aber was kann eine Klassenmethode mehr als eine Instanz ?

Hoffe mir kann einer helfen,
Danke im voraus.
 
Hallo,

eine Klassenmethode ist auf der Klasse definiert, eine Instanzmethode benötigt stets ein Objekt. Wenn du also nun ein Objekt hast und damit willst du Sachen anstellen, brauchst du eine Instanzmethode, da die Methode ja nur mit dem Objekt funktioniert!

Beispiel: "setText:" auf UILabel. Hättest du hier ja jetzt eine Klassenmethode, wüsste die Methode ja garnicht auf welches Label die Methode angewendet werden soll. Nun rufst du sie deshalb auf dem Objekt auf.

Stelle dir vor du möchtest eine zufällige Farbe haben. Dann könntest du eine statische (=Klassenmethode, anderes Wort) Methode auf UIColor definieren, z.B. "randomColor". Dann würdest du mit [UIColor randomColor] ein neues Objekt erzeugen, dazu benötigst du kein Objekt und das ganze auf einem Objekt aufzurufen würde auch keinen Sinn machen! Also Klassenmethode!

Vielleicht verstehst du's jetzt besser ;)
 
Ahhhh xD ergibt Sinn, ja vielen vielen Dank für die Hilfe !