Kategorie: Swift

  • Swift 5: Raw Strings

    Strings gehören neben Zahlen wohl zu den am häufigsten eingesetzten Typen in der Programmierung. Dem trägt auch die neue Version 5 von Swift Rechnung, die es erstmals erlaubt, sogenannte Raw Strings zu generieren. Ein solcher Raw String interpretiert Zeichen wie Backslashes oder Anführungszeichen nicht als Befehle, die dazu führen, dass ein String endet oder unterbrochen…

  • In eigener Sache: Das Swift-Handbuch ist erhältlich

    Es ist soweit. Nachdem die Arbeiten bereits im September 2017 (!) begonnen haben, ist Das Swift-Handbuch diese Woche nun offiziell erschienen. Auf über 1.200 Seiten findet ihr darin alle grundlegenden und essenziellen Informationen, um eigene Apps für iOS, macOS und Co. entwickeln zu können. Das Apple-Kompendium Beim Schreiben des Buches war es mir von Anfang…

  • Swift 5: Prüfung auf Vielfaches

    Dieser Artikel ist eine schriftliche Ergänzung zu einem Let‘s Code-Video, das bereits vor kurzem auf meinem YouTube-Kanal erschienen ist und das ich am Ende dieses Beitrags zusätzlich noch einbetten werde. Darin geht es um eine neue Methode in Swift 5 namens isMultiple(of:), die in einer Vielzahl von Zahlen-Typen implementiert ist (zum Beispiel in Int und…

  • Swift 5: @unknown und Nonfrozen Enumerations

    switch-Abfragen und Enumerations können in Swift eine wunderbare Einheit bilden, die ideal zum Programmieren geeignet ist. Soll innerhalb einer switch-Abfrage der Wert einer Enumeration geprüft werden, stellt der Compiler sicher, dass die Abfrage umfassend ist und alle potentiellen Werte der Enumeration berücksichtigt. Fehlt wenigstens ein potentieller Wert, muss der durch einen alternativen default-Block abgefangen werden.…

  • Swift 5: Das neue Schlüsselwort @dynamicCallable

    @dynamicCallable ist ein neues Keyword, das mit Swift 5 Einzug in die Programmiersprache gehalten hat. Damit können Enumerations, Structures, Classes und Protokolle deklariert werden, also alle Formen eigens definierter Typen (Extensions sind hierbei entsprechend explizit ausgeschlossen). Doch was bringt das? Durch @dynamicCallable ist es möglich, Instanzen entsprechend deklarierter Typen wie Funktionen aufzurufen. Dabei können eine…

  • Swift 5: Was bedeutet ABI Stability?

    Der 25. März 2019 war für Apple Developer ein immens spannender Tag. Nicht nur hat Apple sein erstes Special Event für dieses Jahr abgehalten, es war auch der offizielle Startschuss für Swift 5. Zusammen mit Xcode 10.2 können wir heute alle Neuerungen und Änderungen von Swift 5 in der finalen Version nutzen. In dieser Serie…

  • In eigener Sache: Eine erste Vorschau auf das Swift-Handbuch

    September 2017. Es ist – zumindest für mich – kaum zu glauben, doch bereits zu diesem Zeitpunkt begannen die Arbeiten am Manuskript für Das Swift-Handbuch, das schließlich und endlich Anfang Mai diesen Jahres erscheinen wird. Es war eine lange Reise, in meinen Augen aber eine, die sich gelohnt hat. Das Swift-Handbuch Beim Swift-Handbuch handelt es…

  • Der Nil-Coalescing-Operator

    Bekanntermaßen gehören Optionals zu den spannendsten und mächtigsten Sprachmerkmalen von Swift (was ich nicht müde werde zu betonen). Mit ihnen gehen auch einige technische Raffinessen einher, die sich auf den Umgang mit diesen spannenden Elementen auswirken. Eine davon ist der sogenannte Nil-Coalescing-Operator. Seine Aufgabe ist recht simpel: Er prüft zunächst ein Optional gegen nil. Besitzt…

  • Singletons in Swift

    Singletons sind ein spannendes Pattern; und das gilt für die Programmierung im Allgemeinen. Einfach ausgedrückt bezeichnet ein Singleton einen Typ, von dem es innerhalb eines Projekts nur eine einzige Instanz gibt. Wann immer man also mit diesem Typ arbeiten möchte, greift man auf jenes Singleton zurück. Das eröffnet einem diverse Vorteile. So kann man sichergehen,…

  • Standardimplementierung in Protokollen umsetzen

    Protokolle sind eine großartige Technik wenn es darum geht, Eigenschaften und Funktionen zu definieren, ohne eine Implementierung dafür anbieten zu müssen. Daraufhin kann man Typen ein oder mehrere Protokolle zuweisen, zu denen sie konform sein müssen, und genau die kümmern sich dann um eine passende (und meist individuelle) Implementierung. So weit, so gut. Doch es…