Strings

Willkommen im dritten Teil unserer Reihe “Swift lernen”.

Damit wir unsere neu erworbenen Kenntnisse gleich praktisch einsetzen können, behandeln wir in diesem Teil Zeichenketten im Englischen auch Strings genannt. Um Ihnen einen besseren Einstieg in den Programmiersprachgebrauch zu vermitteln, verwenden wir ausschließlich den englischen Fachbegriff Strings.

Für diesen Teil gibt es auch ein Video Tutorial hier auf YouTube.

Was ist ein String?

Ein String ist eine Reihe von Buchstaben (Englisch: Characters) und kann einzelne Buchstaben, Wörter, Zahlen oder ganze Sätze enthalten. Man muss diese stets mit Anführungszeichen „“ kennzeichnen. Enthält ein String selbst Anführungszeichen so muss man diese mit dem Maskierungszeichen oder auch Fluchtsymbole genannt (Englisch: Escape character) kennzeichnen. Hier handelt es sich um einen Backslash „\“ (alt+shift+7) der verhindert, dass das folgende Zeichen als Funktionszeichen, z.B. als Ende des Strings, erkannt wird.

Um jetzt die ersten Zeilen zu schreiben, erstellen wir einen neuen Playground wie in Lektion 2 beschrieben und legen los.

Der erste String

Tut.3 Bsp 1

 

 

Werfen wir zunächst einen Blick auf Zeile 5. Wir definieren hier eine Variable.

Eine Variable bedeutet wie auch in der Mathematik, dass man für einen Platzhalter – in unserem Fall der Name der Variable „str“ – einen beliebigen Wert zuweisen kann. In unserem Beispiel ist das ein String. Der Wert wird durch den „=“-Operator zugewiesen und lautet hier „Hello World!“.

In Schule hat man früher zum Beispiel „x = 1“ oder auch „y = 2“ in sein Heft geschrieben. Hier ist „x“ der Variablenname der in unserem Beispiel „str“ lautet und „1“ der zugewiesene Wert der bei uns der String „Hello World!“ ist.

Im Gegensatz  zur Mathematik müssen wir in Swift aber vor den Variablennamen ein „var“ schreiben damit das Übersetzungsprogramm (auch Compiler genannt) erkennt das es sich um eine Variable handelt. Der Wert den wir mit unserem Gleichzeichen setzen muss wie bereits in der Einleitung erwähnt in Anführungszeichen stehen.

Tut.3 Bsp 2

In diesem Beispiel haben wir nach dem Variablennamen einen Doppelpunkt gemacht und den Datentyp String hinzugefügt. Mit dieser Schreibweise können wir dem Compiler mitteilen das in dieser Variable explizit nur ein Wert vom Datentyp String gespeichert werden kann. Dieses vorgehen ist ratsam wenn man sich sicher ist mit welchen Datentypen man arbeiten muss oder möchte. Bei einem String ist dies sehr eindeutig durch die Anführungszeichen, bei Zahlen gibt es aber unterschiedliche Datentypen die wir in der Lektion über Zahlen noch kennen lernen.

Schauen wir uns den nachfolgenden Code an.

Wir versuchen in diesem Beispiel einen Zahlenwert in unser Variable str  zu speichern. Der Compiler quittiert das ganze sofort mit einer Fehlermeldung. Sollten wir versuchen einen anderen Datentyp (Integer, Double, etc.) zuzuweisen erhalten wir eine eindeutige Fehlermeldung, die uns mitteilt das wir einen Wert Int (Ganzzahl) nicht in einer Variable vom Typ String speichern können.

Natürlich können wir die 24 auch in Anführungszeichen setzen, jedoch wird diese dann als String und nicht als Zahl erkannt. Somit ist ohne weiteren Aufwand kein rechnen damit möglich. Dazu gehen wir aber in den darauffolgenden Lektionen und Kapiteln weiter ein.

Tut.3 Bsp 3

Überschreiben von Zeichenketten

Wir können – wie oben bereits erwähnt – Variablen benutzen um unsere Strings zu speichern. Natürlich können wir diese Werte später auch mit neuen Werten überschreiben. Das bedeutet das die Variable str , der wir gerade noch den Wert „Hello World“ zugewiesen haben, in der nächsten Zeile den neuen Wert – „Hallo SwiftBlog!“ zugewiesen bekommen kann. Es gibt auch Konstanten die nicht überschrieben werden können, diese lernen wir aber erst später kennen.

Tutorial 2 Bsp1.1

Zusammenfügen von Zeichenketten

Tut.3 Bsp 4

In diesem Beispiel möchten wir erklären wie Strings aufgebaut sind.

Wir haben fünf Variablen mit den Namen „char1-char5″. In jeder dieser Variablen speichern wir jeweils nur einen Buchstaben (Characters). In der Variable  str1  speichern wir den Wert „World!“, aber hier zusätzlich mit escapten Anführungszeichen da wir diese später mit ausgeben möchten. Wie bekommen wir das „Hello“ – bestehend aus den einzelnen Buchstaben – jetzt zusammengesetzt und in einer weiteren Variable „str2“ gespeichert?

Wir nutzen den „+“ Operator.

Bitte gehen Sie nicht davon aus das die Buchstaben am Ende einen Zahlenwert ergeben oder miteinander addiert werden. Vielmehr ist das „+“-Zeichen hier als „&“-Zeichen zu interpretieren. Wir können mit dem Plus Strings und Characters miteinander verbinden.

Wichtig ist hier die richtige Reihenfolge zu beachten.

Schreiben sie doch einfach mal in Zeile 22 die Variable str1  vor char1 . Natürlich dürfen Sie nicht vergessen die „+“-Zeichen an die richtige Stelle zu schreiben. Schauen Sie doch einfach mal was passiert.

Das Thema Strings werden wir im Laufe unserer weiteren Lektionen und Kapitel mehr vertiefen.

Wie geht es weiter?

Jetzt beherrschen wir einige Grundlagen von Strings. Im nächsten Teil unserer Reihe „Swift lernen“ werden wir mit Zahlen arbeiten.

Previous post

Swift lernen: Playground erstellen

Next post

Swift lernen: Zahlen

The Author

Ralf Peters

Ralf Peters

Ralf Peters ist Softwareentwickler – speziell im Bereich iOS/OS X –, Fachbuchautor und Internet-Trainer. Als begeisterter Apple-Fan und Hardware-Bastler ist er in verschiedenen Projekten sowohl beruflich als auch privat tätig und schneidert u.a. iOS Applikationen auf Kundenwünsche zu. Neben seiner beruflichen Tätigkeit betreibt er zusammen mit Stefan Popp den ersten deutschen Swift-Blog, in dem er mit Hilfe seiner Erfahrung Einsteigern und Fortgeschrittenen durch kostenlose Tutorials und Videos Wissen vermittelt.

9 Comments

  1. BlvckRabbit
    15. November 2014 at 16:47 — Antworten

    Hi,
    ich habe vor Swift zu erlernen und bin auf euren Blog gestoßen und bin überzeugt das eure Swift Tutorials mir helfen werden Swift zu verstehen.
    Danke! Ich werde mich weiter mit euren Blog eintragen beschäftigen.

  2. Andreas Eichbaum
    13. Juli 2015 at 14:00 — Antworten

    Ich wollte mit Xcode beginnen und habe es mir geladen, doch ich würde gerne eine eigene App machen und habe keine Idee…
    Gibt es irgendwo information welche Apps es schon gibt?

    LG Andre

    • 14. Juli 2015 at 13:52 — Antworten

      Hallo Andre,

      derzeit gibt es ca. 1,4 mio iOS Apps. Ein direktes Nachschlagewerk ist meines Wissens nach nicht vorhanden, allerdings lässt sich der AppStore recht leicht mit Hilfe von Key- oder Focuswords durchsuchen. Wenn du beispielsweise eine To-Do Liste bauen willst, kannst du diese entweder über die eben genannten Keywords suchen oder du orientierst dich über die Kategorien.

      Man verbessere mich bitte falls ich hier die Unwahrheit spreche 🙂

      Ich hoffe deine Frage ist damit beantwortet.
      Beste Grüße
      – Ralf

    • Robin
      20. August 2015 at 20:00 — Antworten
      • 21. August 2015 at 9:28

        Hi Robin,

        du wirst lachen, wir haben bereits über dieses Tutorial berichtet (http://www.swift-blog.de/swift-crush-candy-crush-klon/).
        Das ist auch genau der Grund warum wir es nicht für notwendig halten es zu machen, denn es is ja schon vollständig vorhanden.

        Ich werde aber mal mit den anderen Autoren die Köpfe zusammenstecken, ob man nicht mal einen Blogbeitrag oder ein Tutorial zum Thema Spielen veröffentlichen könnte.

        Beste Grüße
        – Ralf

  3. Adrian
    19. Januar 2016 at 15:00 — Antworten

    Guten Tag Alle,
    Für meine Abschlussarbeit habe ich mich für das Projekt „eine iPhone App programmieren“ entschieden. Im Programmieren habe ich noch nicht sehr viele Kenntnisse und bin also ein Anfänger. Ich habe mir ein paar Fragen aufgeschrieben die ich Euch stellen möchte:
    * Kann man nach diesen Tutorials vom Swift-blog.de schon eine einfache App programmieren oder benötigt es noch mehr Kenntnisse?
    * Wie kann ich die Programmiersprache Swift am einfachsten und am schnellsten lernen?
    * Was für eine App würden Sie mir vorschlagen, was nicht schwer ist für den Anfang zu programmieren?

    Herzlichen Dank für Ihre Bemühungen!

    Beste Grüße Adrian

    • 18. Februar 2016 at 19:17 — Antworten

      Hallo Adrian

      zu aller erst möchte ich mich für die verspätete Antwort entschuldigen. Die Kommentare sind aus zeitlichen Beschränkungen etwas liegen geblieben in letzter Zeit.
      Zu deinen Fragen:
      – Ja UND Nein. Die Komplexität einer App steht natürlich proportional mit deinen Fähigkeiten. Wenn du noch nie programmiert hast solltest du also eine Einfache und und simpel strukturierte Idee umsetzen. Das Problem wird sein das dir in vielen Abläufen die Routine fehlt oder die Herangehensweise an bestimmte Architekturen. Mein Vorschlag wäre das du dich an App Tutorials für kleinere Apps hälst und versuchst etwas mit einer neuen Idee zu versehen.
      – Am schnellsten lernt man eine Programmiersprache beim programmieren. Wie bei allen Dingen muss man viel üben, viel lesen und oft auf die Nase fallen. Wenn du aber lernst die Swift Doku zu lesen und fleißig bist kannst du in wenigen Wochen große Erfolge erzielen.
      – Dazu kann ich dir leider keine konkrete Antwort geben. Versuch aber dich an Projekte wie GPS Daten tracken und anzeigen oder Listen diverser Dinge heranzutrauen. Vermeiden solltest du Spiele oder Apps die mit Servern kommunizieren.

      Ich hoffe ich konnte dir helfen.
      Beste Grüße
      – Ralf

  4. Dirk
    21. März 2016 at 16:50 — Antworten

    Hallo
    eventuell habe ich es ja auch überlesen wie sucht man nach bestimmten Zeichen In Zeichenketten (Strings) und oder bei Zahlen ?

    • 5. April 2016 at 21:38 — Antworten

      Hallo Dirk,

      versuch es doch mal hiermit 🙂


      var str = "ABC-12345"

      if str.rangeOfString("-") != nil || str.rangeOfString("2") != nil{
      print("gefunden!")
      }

      if str.characters.contains("C") {
      print("gefunden!")
      }

Schreibe einen Kommentar zu Adrian Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.