• 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

Auf Attribute einer Klasse zur Laufzeit zugreifen

floorjiann

Strauwalds neue Goldparmäne
Registriert
18.01.07
Beiträge
639
Hallo zusammen

ich suche jetzt schon seit Tage eine Lösung, warhscienlich liegt sie mir vorn Augen, aber ich sehe sie nicht.

Ich brauche iene Möglichkeit, wie ich die Anzahl + Typen der Felder einer Klasse auslesen kann.
Komme aus der Java Ecke und da geht das per Reflection ja wunederbar. Irgendwie habe ich nichts vergleichbares in ObjC gefunden, oder ich bin eben blind.

Bitte, kann mir da jemand weiterhelfen?

Danke
 
Wenn es nur um eine Methode geht, bietet NSObject auch noch die Methode
- (BOOL)respondsToSelector:(SEL)aSelector
an.

Die gibt YES zurück, falls die entsprechende Unterklasse von NSObject dies Methode zur Verfügung stellt.
(Das wird z.B. bei Delegates verwendet)
 
Sorry, ich muss mich outen. Ich verstehe die Frage nicht.

Mir ist nicht klar, was Du mit "Felder einer Klasse" meinst.
Und die Anzahl einer Klasse ist doch... eins!?
Das wird aber wahrscheinlich nicht das Ziel der Frage gewesen sein.

Vielleicht suchst Du so etwas wie -isMemberOfClass oder NSStringFromClass. Keine Ahnung.
 
Wenn es nur um eine Methode geht, bietet NSObject auch noch die Methode
- (BOOL)respondsToSelector:(SEL)aSelector
an.

Die gibt YES zurück, falls die entsprechende Unterklasse von NSObject dies Methode zur Verfügung stellt.
(Das wird z.B. bei Delegates verwendet)
Und das geht auch bei Eigenschaften, wenn man bedenkt, dass der Getter ja -eigenschaft heißt. (Wenn man sich an die Naming-Rules für Getter hält, dann ist ohnehin Hopfen und Malz verloren.)

@OP: Wenn du mal sagst, was dein wirkliches Problem ist, könnten wir dich vllt davor bewahren, dein Design zu verkaspern. Das klingt nämlich ein wenig so.
 

Danke, genau das habe ich am nächsten Tag auch gefunden :) Da stand alles wichtige drin.

An meinem Design liegt es nicht, ich muss einen Bytestream zusammenbauen, der eine exakte vorgegebene Struktur besitzt, deswegen muss ich auch die Attribute einer Klasse auslesen können.

Werde mich mal wieder in C einlese, damit ich dir Funktionen für die Runtime auch versteh ^^
 
Danke, genau das habe ich am nächsten Tag auch gefunden :) Da stand alles wichtige drin.

An meinem Design liegt es nicht, ich muss einen Bytestream zusammenbauen, der eine exakte vorgegebene Struktur besitzt, deswegen muss ich auch die Attribute einer Klasse auslesen können.
Ursache und Wirkung kann ich nicht nachvollziehen.