• Einsatz mehrerer Cursor In den bisherigen Artikeln dieser kleinen Serie haben wir uns mit der Möglichkeit zum Ein- und Ausklappen von Code-Blöcken sowie dem Refactoring beschäftigt. In diesem Beitrag möchte ich euch nun ein weiteres kleines Feature präsentieren, das erst jüngst mit Xcode 10 Einzug in Apples IDE gehalten hat: der Einsatz mehrerer Cursor parallel. Was bringt‘s? Manch einer mag sich an dieser Stelle fragen, was ein solches Feature denn überhaupt soll. Warum sollte man denn mehrere Cursor auf einmal in einem Editor platzieren wollen? Generell ist solch eine Funktion enorm praktisch, um ein- und dieselbe Texteingabe an mehreren Stellen…

  • Popover, Gruppierung und Positionierung In den bisherigen Artikeln dieser Reihe (siehe Links am Ende des Artikels) haben wir bereits die grundlegende Funktionsweise sowie verschiedene UI-Elemente der Touch Bar kennengelernt. Um noch mehr aus der Touch Bar herausholen zu können, werfen wir in diesem Artikel einen Blick auf zwei neue Elemente: das Popover sowie die Group. Außerdem setzen wir uns mit Möglichkeiten zur Positionierung der Elemente innerhalb der Touch Bar auseinander. NSPopoverTouchBarItem So nützlich und praktisch die Touch Bar auch sein kann, ihr Platz ist zweifelsohne beschränkt. Bereits einige Buttons mit längeren Titeln können den zur Verfügung stehenden Raum voll ausfüllen.…

  • 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 wird. Stattdessen werden sie als Teil des Strings behandelt, genau wie darin enthaltene Buchstaben und Zahlen auch. Raw Strings in der Praxis Bevor ich weiter auf die Hintergründe und Vorteile von Raw Strings eingehe, betrachten wir zunächst einmal, wie man einen Raw String in Swift…

  • 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 an wichtig, das volle Spektrum der verfügbaren Apple-Plattformen abzudecken. Auch wenn iOS heute zweifelsohne die populärste und erfolgreichste dieser Plattformen ist, haben es auch der Mac und insbesondere die Apple Watch und das Apple TV verdient, näher betrachtet zu werden. Gerade der Mac besitzt eine…

  • Storyboards sind heute das Mittel der Wahl, wenn es um die Gestaltung von Interfaces in der App-Entwicklung für die verschiedenen Plattformen von Apple geht. Neu erstellte Xcode-Projekte enthalten in der Regel bereits eine solche Storyboard-Datei, in der der initiale View-Controller definiert ist, der beim Starten der App als erstes geladen und angezeigt wird. Von diesem View-Controller aus kann man dann entspannt Verbindungen zu weiteren View-Controllern ziehen und so theoretisch die gesamte Struktur einer App in einem einzigen Storyboard abbilden. Doch „theoretisch“ ist genau an dieser Stelle das Zauberwort. Denn bei umfangreichen App-Projekten mit vielen View-Controllern ist es nicht angeraten, all…

  • MacBook Pro Im ersten Teil dieser Serie haben wir einen Blick auf MacBook und MacBook Air aus Sicht eines Apple Developers geworfen. In diesem Artikel betrachten wir nun das Profi-Lineup von Apples Notebook-Sparte: das MacBook Pro. Auch dieses Mal geht es wieder ausschließlich um die Frage: Inwiefern sind die Geräte für Apple Developer geeignet? Und welche Konfigurationen sind eine nähere Betrachtung wert? Modellübersicht Werfen wir zunächst einmal einen groben Blick auf die verschiedenen Modelle des MacBook Pro, die Apple anbietet. Derer gibt es nämlich insgesamt drei: Die gute Nachricht vorab: Mit allen Modellen seid ihr prinzipiell sehr gut bedient, wenn…

  • 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 seinen verschiedenen Variationen wie Int8 oder Int16 und in UInt). Mithilfe dieser Methode ist es möglich zu überprüfen, ob eine Zahl ein Vielfaches einer anderen Zahl ist. Bisher (und auch in vielen anderen Programmiersprachen) setzt man für einen solchen Zweck die Ermittlung eines Restwerts ein,…

  • 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. So weit, so gut. Durch die stabile ABI in Swift 5 gestaltet sich diese so simpel anmutende Technik allerdings ein wenig komplexer. Das hängt mit zwei Faktoren zusammen: Die potentielle Problematik hinter diesen beiden Faktoren: Heute in Swift 5 geschriebene switch-Abfragen, die alle Werte einer…

  • MacBook und MacBook Air Solange es noch keinen vollwertigen Xcode-Ableger für das iPad (Pro) gibt, ist der Mac weiterhin für Apple Developer das wichtigste Arbeitsgerät. Auf ihm steht mit Xcode Apples vollwertige Entwicklungsumgebung zur Verfügung, inklusive Simulatoren und mächtigen Debugging-Werkzeugen. Doch welcher Mac eignet sich ideal für die Entwicklung von Apps für iOS, macOS und Co? Worin liegen Stärken und Schwächen der verschiedenen Modelle? In dieser neuen Reihe möchte ich euch meine persönliche Meinung zu Apples aktuellem Mac-Lineup in Bezug auf die Anforderungen von Apple Developern geben. Und natürlich freue ich mich auf den Austausch mit euch, eure persönlichen Meinungen…

  • @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 beliebige Anzahl an Parametern übergeben werden. Nutzt man diese Technik, muss innerhalb des entsprechenden Typs wenigstens eine von zwei Methoden implementiert sein: Eine dieser Methoden wird aufgerufen, sobald man eine Instanz des zugehörigen Typs wie eine Funktion verwendet. Zum besseren Verständnis werfen wir direkt einen…