Informationen aus einem Array welche einer Variablen entsprechen

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

  • Informationen aus einem Array welche einer Variablen entsprechen

    Hallo zusammen,

    ich gehe aktuell am Stock! Ich habe mehrere TableViews welche richtig befüllt werden. Jetzt möchte ich gerne, Details zu einer Zelle anzeigen lassen.

    ich hab die Arrays wie folgt befüllt:

    Quellcode

    1. import Foundation
    2. class details {
    3. var detail = "NULL"
    4. var infotext1 = "NULL"
    5. var infotext2 = "NULL"
    6. var infotext3 = "NULL"
    7. var infotext4 = "NULL"
    8. var Kürzel1 = "NULL"
    9. var Kürzel2 = "NULL"
    10. var cmd1 = "NULL"
    11. var cmd2 = "NULL"
    12. var cmd3 = "NULL"
    13. var cmd4 = "NULL"
    14. var helpTitle: String {
    15. return String(detail)
    16. }
    17. var details: String {
    18. var details = ""
    19. details += "Informationen:\n\n"
    20. details += "Beschreibung: \(infotext1)\n"
    21. details += "Beschreibung: \(infotext2)\n"
    22. details += "Beschreibung: \(infotext3)\n"
    23. details += "Beschreibung: \(infotext4)\n\n"
    24. details += "Kürzel \(Kürzel1)\n\n"
    25. details += "Kürzel \(Kürzel2)\n\n"
    26. details += "Terminalbefehl: \(cmd1)\n"
    27. details += "Terminalbefehl: \(cmd2)\n"
    28. details += "Terminalbefehl: \(cmd3)\n"
    29. details += "Terminalbefehl: \(cmd4)\n"
    30. return details
    31. }
    Alles anzeigen


    Quellcode

    1. func setupdetail() {
    2. var shortcuts: [details] = []
    3. var netzwerk: [details] = []
    4. var terminal: [details] = []
    5. var startup: [details] = []
    6. let drucken = details()
    7. let sichern = details()
    8. let öffnen = details()
    9. drucken.detail = "Drucken"
    10. drucken.infotext1 = "druck test1"
    11. drucken.infotext2 = "druck test2"
    12. drucken.infotext3 = "druck3"
    13. drucken.infotext4 = ""
    14. drucken.Kürzel1 = "CMD + D"
    15. drucken.Kürzel2 = ""
    16. drucken.cmd1 = "println"
    17. drucken.cmd2 = ""
    18. drucken.cmd3 = ""
    19. drucken.cmd4 = ""
    20. shortcuts.append(drucken)
    21. sichern.detail = "Sichern"
    22. sichern.infotext1 = "sichern test1"
    23. sichern.infotext2 = "sichern test2"
    24. shortcuts.append(sichern)
    25. öffnen.detail = "Öffnen"
    26. öffnen.infotext1 = "Öffnen"
    27. shortcuts.append(öffnen)
    28. }
    Alles anzeigen
    Wie schaffe ich es nun wenn ich zum Beispiel den String "drucken" übergebe die ganzen Infos zu lesen ?(
    Das ganze sollte eigentlich nur ein Testprogramm werden was mir ab und zu die Arbeit erleichtert.... Ich dreh hier echt durch


    Vielen Dank vorab!
    Marc
  • Junge Junge Junge. Der Quelltext ist ... interessant.

    1. Klassennamen sollten mit einem grossen Buchstaben anfangen.
    2. Du bereitest dir gerade zukünftiges stundenlanges Debugging vor (details, detail, details, details).
    3. Ich habe auch nach dem dritten Lesen der Frage nicht verstanden, was die Frage wirklich ist.
  • Hi dasdom,

    danke erstmal für deine Antwort und deinen Hinweis. Das wird sofort abgestellt.

    Meine Frage lautet eigentlich wie ich auf die Werte von " shortcuts.append(sichern) " wieder zugreifen kann für die Ausgabe

    Ich habe die Befüllung nämlich in eine separate Datei gepackt. Das ist zwar jetzt schön das dort werte drin stehen, aber die würde ich ja auch gerne wieder ausgeben
    Vielleicht denke ich auch nur zu kompliziert

    Anbei der überarbeitete Code

    Quellcode

    1. import Foundation
    2. class DetailView {
    3. var name = "NULL"
    4. var infotext1 = "NULL"
    5. var infotext2 = "NULL"
    6. var infotext3 = "NULL"
    7. var infotext4 = "NULL"
    8. var Kürzel1 = "NULL"
    9. var Kürzel2 = "NULL"
    10. var cmd1 = "NULL"
    11. var cmd2 = "NULL"
    12. var cmd3 = "NULL"
    13. var cmd4 = "NULL"
    14. var info: String {
    15. var content = ""
    16. content += "Informationen:\n\n"
    17. content += "Beschreibung: \(infotext1)\n"
    18. content += "Beschreibung: \(infotext2)\n"
    19. content += "Beschreibung: \(infotext3)\n"
    20. content += "Beschreibung: \(infotext4)\n\n"
    21. content += "Kürzel \(Kürzel1)\n\n"
    22. content += "Kürzel \(Kürzel2)\n\n"
    23. content += "Terminalbefehl: \(cmd1)\n"
    24. content += "Terminalbefehl: \(cmd2)\n"
    25. content += "Terminalbefehl: \(cmd3)\n"
    26. content += "Terminalbefehl: \(cmd4)\n"
    27. return content
    28. }
    Alles anzeigen


    Quellcode

    1. func setupdetail() {
    2. var shortcuts: [DetailView] = []
    3. var netzwerk: [DetailView] = []
    4. var terminal: [DetailView] = []
    5. var startup: [DetailView] = []
    6. let drucken = DetailView()
    7. let sichern = DetailView()
    8. let öffnen = DetailView()
    9. drucken.name = "Drucken"
    10. drucken.infotext1 = "druck test1"
    11. drucken.infotext2 = "druck test2"
    12. drucken.infotext3 = "druck3"
    13. drucken.infotext4 = ""
    14. drucken.Kürzel1 = "CMD + D"
    15. drucken.Kürzel2 = ""
    16. drucken.cmd1 = "println"
    17. drucken.cmd2 = ""
    18. drucken.cmd3 = ""
    19. drucken.cmd4 = ""
    20. shortcuts.append(drucken)
    21. sichern.name = "Sichern"
    22. sichern.infotext1 = "sichern test1"
    23. sichern.infotext2 = "sichern test2"
    24. shortcuts.append(sichern)
    25. öffnen.name = "Öffnen"
    26. öffnen.infotext1 = "Öffnen"
    27. shortcuts.append(öffnen)
    28. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Marc D ()

  • Marc D schrieb:

    Meine Frage lautet eigentlich wie ich auf die Werte von " shortcuts.append(sichern) " wieder zugreifen kann für die Ausgabe
    Per Indizierung; also shortcuts[i].

    BTW:
    1. Wenn ein Wert leer ist, solltest du lieber den Wert nil anstatt des Strings "NULL" verwenden.
    2. Nummerierte Variablen stinken. Warum verwendest du keine Arrays? Dann kannst du dir auch die Null-Werte sparen.
    3. Ist DetailView eine Modell- oder View-Klasse?
    „Meine Komplikation hatte eine Komplikation.“