• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Wie greife ich auf Objekte anderer Klassen/Header zu?

IceCake97

Gloster
Registriert
03.05.12
Beiträge
63
Hallo!
Ich habe folgendes Problem:
Ich möchte für meine iPhone-App eine Statistik erstellen. Im StatistikViewController befinden sich einige Labels, in denen dann später z.B. Punktzahlen stehen sollen.
Doch wie greife ich vom normalen ViewController auf diese Labels zu?
Wie kann ich die Werte dieser ändern, indem ich z.B. einen Button im normalen ViewController drücke?
Danke schonmal im Vorraus,
IceCake :D
 

dadudeness

Dithmarscher Paradiesapfel
Registriert
06.09.07
Beiträge
1.448
Ich verstehe nicht so richtig Dein Problem.

Die Objekte von Interesse werden instanziiert sein. Also musst per Getter auf die Variable der gewünschten Instanz zugreifen.
Über Setter sind diese entsprehend zu ändern.
 

Marcel Bresink

Hadelner Sommerprinz
Registriert
28.05.04
Beiträge
8.573
Du definierst im StatistikViewController eine öffentliche Schnittstelle (also z.B. geeignete Methoden oder Properties), mit denen eine andere Klasse auf die Labels (wahrscheinlich meinst Du TextFields oder deren Werte?) zugreifen kann.
 

IceCake97

Gloster
Registriert
03.05.12
Beiträge
63
Sorry aber ich bin noch quasi Anfänger... :D
Was meinst du mit"öffentlicher Schnittstelle"?
 

dadudeness

Dithmarscher Paradiesapfel
Registriert
06.09.07
Beiträge
1.448
Pseudocode:

Code:
public int getRichtigeAntworten()
{
  return this.anzahlRichtigeAntworten;
}

Du brauchst einen Getter, der von anderen Objekten außerhalb der Klasse abgefragt werden kann, also öffentlich ist.
 

GoodGuy

Granny Smith
Registriert
02.12.12
Beiträge
12
Also falls ich deine Problemstellung richtig verstanden habe...
1. Deine Labels initialisieren, also am einfachsten properties erstellen.
2. In dem ViewController wo du z.B. einen Button drückst, die .h Datei des ViewControllers wo die Label Properties initialisiert sind, importieren.
3. Dann eine Instanz des anderen ViewControllers anlegen z.B. -> MyViewController *myVC = [[MyViewController alloc] init];
4. Dann kannst du z.B. mit -> myVC.label1.text = @"myText"; etc. Auf deine Labels zugreifen.
 
Zuletzt bearbeitet:

IceCake97

Gloster
Registriert
03.05.12
Beiträge
63
Ja, ich denke dass war es, was ich gesucht habe. Werde es morgen testen, wenn ich nach Hause kome... Danke für alle Antworten!
Gruß, IceCake ;)