Wie greife ich auf Objekte anderer Klassen/Header zu?

Dieses Thema im Forum "iOS-Developer" wurde erstellt von IceCake97, 21.12.12.

  1. IceCake97

    IceCake97 Kaiser Wilhelm

    Dabei seit:
    03.05.12
    Beiträge:
    63
    Zustimmungen:
    0
    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
    #1
  2. dadudeness

    dadudeness Normande

    Dabei seit:
    06.09.07
    Beiträge:
    651
    Zustimmungen:
    31
    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.
    #2
  3. Marcel Bresink

    Marcel Bresink Westfälische Tiefblüte

    Dabei seit:
    28.05.04
    Beiträge:
    1.588
    Zustimmungen:
    214
    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.
    #3
  4. IceCake97

    IceCake97 Kaiser Wilhelm

    Dabei seit:
    03.05.12
    Beiträge:
    63
    Zustimmungen:
    0
    Sorry aber ich bin noch quasi Anfänger... :D
    Was meinst du mit"öffentlicher Schnittstelle"?
    #4
  5. dadudeness

    dadudeness Normande

    Dabei seit:
    06.09.07
    Beiträge:
    651
    Zustimmungen:
    31
    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.
    #5
  6. GoodGuy

    GoodGuy Carola

    Dabei seit:
    02.12.12
    Beiträge:
    11
    Zustimmungen:
    0
    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: 24.12.12
    #6
  7. IceCake97

    IceCake97 Kaiser Wilhelm

    Dabei seit:
    03.05.12
    Beiträge:
    63
    Zustimmungen:
    0
    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 ;)
    #7

Diese Seite empfehlen