Outlet Collections Array und Label tags

  • Outlet Collections Array und Label tags

    Hallo,

    nach dem was Amin im Buch schreibt kan ich eine Collection über Arrays öffnen. Ich habe ein paar Label im IB gebastelt und getagt (3 Label haben tag 1, 3 weitere haben tag 2) und möchte diese nun nach tags ansprechen ansprechen und mit Text füttern. ZB nur die label mit tag 2 erhalten title.

    So sieht das nach Amin erstmal aus. Wie bekomme ich jetzt die tags da rein?

    Quellcode

    1. //Hier wird eine neue Instanzvariable collectionText für die Outlet collection erzeugt und dieser wird der NSString title zugewiesen.
    2. //Problem: Alle (!!) Label zeigen nun natürlich title.
    3. //Frage: Wie kann ich betimmte getagte Labels aus der Collectionauswählen und nur diesen title zuweisen?
    4. for (UILabel *collectionText in self.labelCollection) {
    5. collectionText.text =title;
    6. }


    Danke
    VG
    Tim
    _______________________
    ..."Geh lieber da an´n Teich, guck` Dir die Enten an..." (Rookie Diaries)

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von IOSTM ()

  • Hallo Daniel,

    Super!
    das hier funktioniert. Es sind ein paar tags mehr geworden ;-))

    Quellcode

    1. for (UILabel *collectionText in self.labelCollection) {
    2. if (collectionText.tag == 1)
    3. collectionText.text = @"A";
    4. if (collectionText.tag == 2)
    5. collectionText.text = nil;
    6. if (collectionText.tag == 3)
    7. collectionText.text = nil;
    8. if (collectionText.tag == 4)
    9. collectionText.text = nil;
    10. if (collectionText.tag == 5)
    11. collectionText.text = @"B";
    12. if (collectionText.tag == 6)
    13. collectionText.text = nil;
    14. if (collectionText.tag == 7)
    15. collectionText.text = nil;
    16. if (collectionText.tag == 8)
    17. collectionText.text = @"C";
    18. if (collectionText.tag == 9)
    19. collectionText.text = nil;
    20. if (collectionText.tag == 10)
    21. collectionText.text = nil;
    22. if (collectionText.tag == 11)
    23. collectionText.text = nil;
    24. if (collectionText.tag == 12)
    25. collectionText.text = @"D";
    26. }
    Alles anzeigen


    Wie könnte ich diese Strukturen abspeichern bzw vorbereiten, so dass diese nur ausgelesen werden müssen?
    Sprich: Man weist bestimmten Tags bestimmte Werte zu. Vermutlich property Lists,...?!

    Wäre es auf der anderen Seite nicht trotzdem möglich diese Strukturen schicker zu formulieren, man sieht hier ja ne ganze Menge nil Redundanz.
    Wie könnte man also einen tag an einen Buchstaben binden: tag1 bekommt "A", tag5 bekommt "B", tag8 bekommt "C", dann ist der ganze nil-Kram weg.
    Xcode müsste dann nur sehen, in welchen tags etwas steht...



    Danke!
    VG
    Tim
    _______________________
    ..."Geh lieber da an´n Teich, guck` Dir die Enten an..." (Rookie Diaries)

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von IOSTM ()

  • IOSTM schrieb:

    Hallo Daniel,

    Super!
    das hier funktioniert. Es sind ein paar tags mehr geworden ;-))

    Quellcode

    1. for (UILabel *collectionText in self.labelCollection) {
    2. if (collectionText.tag == 1)
    3. collectionText.text = @"A";
    4. if (collectionText.tag == 2)
    5. collectionText.text = nil;
    6. if (collectionText.tag == 3)
    7. collectionText.text = nil;
    8. if (collectionText.tag == 4)
    9. collectionText.text = nil;
    10. if (collectionText.tag == 5)
    11. collectionText.text = @"B";
    12. if (collectionText.tag == 6)
    13. collectionText.text = nil;
    14. if (collectionText.tag == 7)
    15. collectionText.text = nil;
    16. if (collectionText.tag == 8)
    17. collectionText.text = @"C";
    18. if (collectionText.tag == 9)
    19. collectionText.text = nil;
    20. if (collectionText.tag == 10)
    21. collectionText.text = nil;
    22. if (collectionText.tag == 11)
    23. collectionText.text = nil;
    24. if (collectionText.tag == 12)
    25. collectionText.text = @"D";
    26. }
    Alles anzeigen


    Wie könnte ich diese Strukturen abspeichern bzw vorbereiten, so dass diese nur ausgelesen werden müssen?
    Sprich: Man weist bestimmten Tags bestimmte Werte zu. Vermutlich property Lists,...?!

    Wäre es auf der anderen Seite nicht trotzdem möglich diese Strukturen schicker zu formulieren, man sieht hier ja ne ganze Menge nil Redundanz.
    Wie könnte man also einen tag an einen Buchstaben binden: tag1 bekommt "A", tag5 bekommt "B", tag8 bekommt "C", dann ist der ganze nil-Kram weg.
    Xcode müsste dann nur sehen, in welchen tags etwas steht...



    Danke!
    VG
    Tim


    Reicht nicht eigentlich auch:

    Quellcode

    1. for (UILabel *collectionText in self.labelCollection) {
    2. if (collectionText.tag == 1) {
    3. collectionText.text = @"A";
    4. }
    5. else if (collectionText.tag == 5) {
    6. collectionText.text = @"B";
    7. }
    8. else if (collectionText.tag == 8) {
    9. collectionText.text = @"C";
    10. }
    11. else if (collectionText.tag == 12) {
    12. collectionText.text = @"D";
    13. }
    14. else {
    15. collectionText.text = nil; // Hier frag ich mich aber ob das Sinn macht... Sollte man eigentlich auch weg lassen können, wenn ich mich nicht irre.
    16. }
    17. }
    Alles anzeigen


    Ich glaube allerdings, dass es keinen Sinn hat wenn ich dir hier solche doch relativ trivialen Sachen programmiere. Ich vermute eher dass da noch einiges an Grundlagen fehlt und du eventuell erst mal weitere Kapitel aus den Büchern abarbeiten solltest.
  • Lieber Daniel,

    im Grunde ist es schon richtig, das nicht jede Kleinigkeit hier vorgekaut werden sollte.
    Ich probiere meine Programmierarbeit, in erster Linie das Lernen, schon bei mir zu halten, denke aber auch, dass das Verbessern der Fähigkeiten im Programmieren ein Pendelspiel von Knowledge, also Bücherwissen und Kombinatorik und Hints von mit allen Wassern gewaschener erfahrener Profis ist. Zumindest wäre das meine Idealvorstellung.
    Das Thema hier entfernt sich inzwischen etwas aus der Thematik zu Amins angesprochenem Kapitel, keine Frage, es ging ja um Outlet Collections, nicht um das Basteln von Schleifen.

    daher:
    In jedem Fall sehr hilfreiche Unterstützung von Dir.

    Herzlichen Dank
    Beste Grüße
    Tim
    _______________________
    ..."Geh lieber da an´n Teich, guck` Dir die Enten an..." (Rookie Diaries)