Mit dem dritten Beta-Release von iOS8 und Yosemite veröffentlicht Apple auch zahlreiche Änderungen an Swift. Diese sind auf jeden fall gravierend und es sind auf jeden fall Anpassungen an bestehenden Code nötig, so das dieser mit der neusten Beta weiterhin funktioniert. Wir haben uns das ganze angesehen und für euch aufbereitet. Ein aus unserer Sicht tolles Swift Update!

Array

Arrays wurden komplett neu-designt. So wurden mehrere Probleme gelöst, was die Wandlungsfähigkeit angeht.
Ein Array welches mit  let deklariert wurde ist nun komplett unveränderlich sowie ein var Array nur noch komplett veränderbar ist.
Kopien von Arrays werden nun komplett und unabhängig durch eine effiziente „lazy copy implementation“ erstellt. Apple weisst aber darauf hin das bisweilen mit erheblichen Performanceverlusten rechnen muss.

Array und Dictionary „sugar“ Syntax

Hat man bisher ein Array folgendermaßen deklariert  var meinIntArray: Int[] = [1234, 1234] , so wird dies in Zukunft mit   var meinIntArray: [Int] = [1234, 1234] gemacht. Dies ist weiterhin ein equivalent für die Kurzform der Deklaration  Array<Int>. Für Dictionaries sieht das ganze beispielhaft jetzt so aus  var myDict: [String:String] = ["Key":"Value"]  was  var myDict: Dictionary<String,String> = ["Key":"Value"]  entspricht.

Zahlenbereiche

Die Zahlenbereichs-Operatoren wurden nun von .. zu ..< verändert um Verwirrung und Mehrdeutigkeit vorzubeugen.
So gibt es nun den ..< und ... Operator für halb geschlossene und geschlossene Bereiche. Das verwenden des  .. Operators ist nicht mehr möglich!

nil

nil ist nun ein Literal auf Sprachebene und keine globale Konstante vom _Nil -Typ.
Dies löst einige Probleme wie sie Beispielsweise bei nil in Collections oder bei der Konvertierung von nil zu einem Any .

APIs von C

APIs die von C importiert wurden, nutzen nicht länger Type Aliases wie CInt oder CFloat welche die darunter liegenden Typen verschleiert haben, sondern werden nun z.B. als Int32 und Float importiert. Dafür v0n uns ein Daumen hoch!

APIs von C mit Pointern

APIs die von C importiert werden und Pointer benutzen haben nun eine wesentlich einfachere API-Typen-Struktur. Diese ist viel berechenbarer, erhält die const Wandlungsfähigkeit in mehr Fällen und erhält die _autoreleased Pointer-Informationen.
Man erkennt nun Beispielsweise UnsafePointer , ConstUnsafePointer und AutoreleasingUnsafePointer.

Selbstverständlich passen wir Änderungen die Beiträge oder Videos unserer Tutorial-Reihe betreffen an und werden euch weiter auf dem Laufenden halten. Die neusten Videos die wir eigentlich heute veröffentlichen wollten, müssen wir leider noch einmal anpassen. Hierfür bitten wir um Verzeihung. Das wird bis zum finalen Release von Swift aber wohl noch häufiger vorkommen.

Das iBook zu Swift, dass auch die aktuellen Änderungen enthält, finden Sie hier.

Euer Stefan & Ralf

Previous post

Swift Crush

Next post

Swift nun für alle zugänglich!

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.

4 Comments

  1. Moritz Mahlet
    12. Juli 2014 at 13:40 — Antworten

    Hallo, ihr seid super, vielen dank!

    Das coolste auf der ganzen Welt wäre, wenn ihr zeigen könntet, wie man mit einem schnellen xmlparser xml dateien einliest unter swift.

  2. Abdul
    20. Juli 2014 at 10:36 — Antworten

    Das stimmt, das wäre echt cool. Diesbezüglich findet man im Internet fast gar nichts:(

  3. JCG
    22. November 2014 at 10:51 — Antworten

    Da gebe ich meinen beiden Vorredner recht. Ein kleines XML-Parsing-Tutorial wäre sehr sehr hilfreich.

    • 24. November 2014 at 21:25 — Antworten

      Stefan und ich sind uns, nachdem dies bereits die zweite Anfrage ist, einig. Es wird ein XML Tutorial geben, jedoch werden wir vorher noch etwas an Basis Material verfassen bevor wir zu diesem Thema kommen werden.

Leave a reply

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.