• Eigene Modifier erstellen Mithilfe von Modifiern führt man Anpassungen an Views in SwiftUI durch. Mit ihnen lässt sich Text formatieren, die Größe eines Bildes anpassen oder eine Hintergrundfarbe setzen. Das SwiftUI-Framework bringt bereits von Haus aus eine riesige Zahl an solchen Modifiern mit. Nichtsdestotrotz wäre es in manchen Fällen praktisch, eigene Modifier zu erzeugen. Die würden sich typischerweise aus der Kombination verschiedener bestehender Modifier zusammensetzen und daraus einen gänzlich neuen Modifier generieren. Erfreulicherweise lassen sich solche eigenen Modifier tatsächlich dank des ViewModifier-Protokolls realisieren. Dieses Protokoll besitzt eine einzige Anforderung in Form der Methode body(content:). Als Parameter liefert diese Methode eine…

  • Konfiguration der Preview Die in Xcode 11 integrierte Preview ist eines der Highlights bei der Arbeit mit SwiftUI. Sie erlaubt es, direkt innerhalb der IDE eine Vorschau von SwiftUI-Views zu erhalten. Sogar Aktualisierungen an einer View, die nicht die Model-Daten betreffen, spiegeln sich umgehend in der Preview wider. Was innerhalb der Preview von Xcode dargestellt wird, regeln zum PreviewProvider-Protokoll konforme Typen. Jede über die zugehörige Xcode-Vorlage erstellte SwiftUI-Datei bringt einen solchen Typen mit sich, der im Anschluss an die eigentliche View definiert ist. Der Code eines solchen Preview-Providers sieht beispielsweise wie folgt aus: Der Name des Preview-Providers (in dem gezeigten…

  • Warum die Reihenfolge von Modifier-Aufrufen so wichtig ist Mithilfe der Modifier konfiguriert man das Aussehen und Verhalten von Views in SwiftUI. Das Vorgehen dieser speziellen Methoden ist hierbei besonders interessant. Sie nehmen die View, auf der sie aufgerufen werden, als Basis und verändern sie dem Verhalten des jeweiligen Modifiers entsprechend (setzen so beispielsweise eine Farbe für einen Text oder Verändern die Größe der View). Im Anschluss liefern sie eine gänzlich neue View zurück, die auf der ursprünglichen View basiert und zusätzlich die vom Modifier durchgeführten Änderungen enthält. Die folgende Grafik skizziert dieses Verhalten beispielhaft. Durch die Aneinanderreihung von Modifiern entsteht…

  • Alert mit Textfeld erstellen und anzeigen Alerts in SwiftUI sind – zumindest bisher – enorm auf Einfachheit getrimmt. Bei ihrer Konfiguration ist es lediglich möglich, einen Titel, eine Beschreibung sowie maximal zwei Buttons zu setzen. Sicher mag das für viele Einsatzszenarien ausreichend sein, weshalb ich die Einfachheit von Alerts in SwiftUI durchaus begrüße. Doch so ist es unmöglich, aufwendigere Alerts in SwiftUI umzusetzen. Im Falle einer iOS- bzw. iPadOS-App ist es daher in bestimmten Szenarien notwendig, auf eine UIAlertController-Instanz zurückzugreifen. Ich selbst nutze beispielsweise sehr gerne Alerts, über die mittels Textfeld eine Information eingegeben werden soll. Alerts sind in meinen…

  • Mit dem Beginn dieser Woche endete die Crowdfunding-Kampagne zum geplanten SwiftUI-Buch, die der Carl Hanser Verlag und ich Ende letzten Jahres ins Leben gerufen hatten. Das Buch soll die verschiedenen Facetten und Funktionen von SwiftUI beleuchten und aufzeigen, wie man plattformübergreifende Nutzeroberflächen mithilfe von Apples neuem UI-Framework erstellt. Mit dem Ende jener Crowdfunding-Kampagne steht nun fest: Das Buch wird kommen! Das deutschsprachige Kompendium zu SwiftUI Um eines erst einmal persönlich voraus zu schicken: Ich freue mich immens, dass das SwiftUI-Buch tatsächlich zustande kommt und ab dem heutigen Tag für mich die Arbeiten am Manuskript beginnen. Dass dieses Buch entsteht, ist…

  • Letzte Woche hat Apple neue iPad Pro-Modelle vorgestellt. So weit, so wenig spektakulär. Die neuen Modelle besitzen denselben Formfaktor wie die Geräte aus dem Jahr 2018, die Hauptänderungen beziehen sich auf die Kamera (inklusive futuristischem LiDAR-Scanner!) sowie ein optimiertes Innenleben dank neuem A12Z-Chip. Tatsächlich machen die 2020er-Modelle des iPad Pro auf mich den Eindruck eines kleinen Updates. Für Neukäufer ist das Mehr an Leistung sicherlich toll, doch Besitzer des Vorgängers dürften in der Regel kaum auf die neuen Modelle umsteigen; dafür ist der Preis für den gebotenen Mehrwert schlicht zu hoch (einmal ganz abgesehen davon, ob man bereits nach zwei…

  • Binding selbst definieren Bindings gehören zu den wichtigsten und spannendsten neuen Techniken, die das SwiftUI-Framework mit sich bringt. In der Regel ist ihr Einsatz unkompliziert und sorgt dafür, Daten als Managed Reference an eine andere View zu übergeben, ohne diese Daten kopieren und selbst synchron halten zu müssen; genau jene Aufgabe übernimmt schließlich das Binding für uns. Es gibt aber Szenarien, in denen das einfache Übergeben einer Source of Truth an eine Binding-Property nicht funktioniert. Ein simples Beispiel dazu seht ihr im folgenden Listing. Die Basis darin stellen ein Date-Picker und eine State-Property dar. Die State-Property speichert eine Instanz vom…

  • Wer mich und meine Artikel hier auf dem Blog sowie meine Videos auf YouTube verfolgt, weiß, dass es seit der letztjährigen WWDC und insbesondere in den letzten Wochen und Monaten eigentlich nur ein Thema für mich gibt: SwiftUI. Und das, wo ich mich Anfang Juli 2019 nach der anfänglichen Euphorie sehr kritisch zu Apples neuem UI-Framework geäußert habe. Was hat sich seitdem getan? Wie ist der aktuelle Stand der Entwicklung? Und – die wohl wichtigste Frage: Sollte man als Apple Developer heute und jetzt auf SwiftUI setzen? Jede Menge SwiftUI Es gab zwei große Zeiträume, in denen ich mich mit…

  • Ich bin kein großer Freund von Facebook. Das Unternehmen (und in diesem Zuge insbesondere auch sein CEO Mark Zuckerberg) erscheinen mir nicht ganz koscher und gehen in meinen Augen mit den wichtigen Themen Datenschutz und Privatsphäre extrem lasch um. Das war auch der Grund, warum ich – ja, wann war das denn genau? Ich kann mich ehrlich gesagt nicht erinnern, wie lange es schon her ist – meinen Facebook-Account gelöscht und dem sozialen Netzwerk den Rücken gekehrt habe. Dennoch ist dieses Unternehmen, dass per se thematisch nicht wirklich hier auf meinen Blog passt, es wert, heute in diesem Beitrag von…

  • In nicht einmal mehr zwei Wochen ist es soweit und es startet mein SwiftUI-Workshop in Hannover. Vom 09.03.2020 bis 11.03.2020 entwickeln wir darin gemeinsam eine kleine Beispiel-App und ihr lernt so die Grundlagen sowie wichtige Facetten und Best Practices von SwiftUI kennen. Damit richtet sich der Workshop an Entwickler, die sich mit der Programmierung mit Swift sowie der Arbeit mit Xcode auskennen und nun Apples neues UI-Framework im Detail kennenlernen möchten. Zu den Themen des Workshops gehören unter anderem der grundlegende Aufbau von Views, der Einsatz von Controls, Navigationsstrukturen, Data Flow sowie die Integration von SwiftUI in bereits bestehende Projekte…