Bereich an Array Elementen ausblenden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bereich an Array Elementen ausblenden

    Hallo,

    weiß vielleicht jemand wie es möglich ist einen ganzen Bereich an Elementen in einem Array auszublenden ? Habe folgendes Beispiel:


    Quellcode

    1. if Pictures == 3 {
    2. superBar[3].isHidden = true
    3. superBar[4].isHidden = true
    4. subBar[3].isHidden = true
    5. subBar[4].isHidden = true
    6. allVotingPictures[3].isHidden = true
    7. allVotingPictures[4].isHidden = true
    8. procentLabel[3].isHidden = true
    9. procentLabel[4].isHidden = true
    10. }
    Es gibt von jedem Element in der Schleife immer 5 Stück. Wenn Pictures jetzt 3 ist will ich auch pro Element nur Inhalt 0-2 sehen. Den Rest will ich auf isHidden setzen.
    Mein Beispiel funktioniert zwar, aber sieht nicht sonderlich schön aus. Gibt es also eine Möglichkeit quasi einen ganzen Bereich dann zu verstecken ohne das ich alles einzeln auflisten muss ?
  • Mir ist nicht so ganz klar, was Deine konkrete Situation und Anforderung da ist, – da kann es, wie @Michael andeutet, es durchaus noch ganz andere Herangehensweisen geben –, aber grundsätzlich läßt sich solcher Code natürlich 'komprimieren'. Dazu bieten sich erstmal Funktionen an.

    Ich poste mal eine zusammengehackte und ungetestete Möglichkeit. Keine Ahnung, ob die auch den Wünschen entspricht…

    Quellcode

    1. let visuals = [superBar, subBar, allVotingPictures, procentLabel]
    2. func hideVisuals(beginningAt index: Int) {
    3. for (visual, counter) in zip(visuals, 0..<5) {
    4. visual.forEach { $0.isHidden = (index >= counter) }
    5. }
    6. }
    7. // Aufruf dann nur noch mit:
    8. hideVisuals(beginningAt: Pictures)
    PS: Variablen NICHT!!! mit Großbuchstaben beginnen!!!!
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • torquato schrieb:


    Ich poste mal eine zusammengehackte und ungetestete Möglichkeit. Keine Ahnung, ob die auch den Wünschen entspricht…
    Ich glaube so vom Ding her ist es schon etwas in der Richtung wie ich es suche. Also ich verstehe die Idee hinter dem Code nur leider funktioniert dieser nicht ganz. Sagen wir pictures beinhaltet den Wert 3, dann sollen ja alle Elemente mit Index 3 oder 4 als isHidden markiert werden.

    Doch das macht der Code leider nicht. Setze mich jetzt aber auch nochmal ran und schaue was man da machen kann