Versteckte Maus/Trackpad-Kürzel in Xcode

Manche Blog-Beiträge sind primär eine Gedächtnisstütze für den Autor. Dieser Beitrag fällt unter diese Kategorie — ist aber vielleicht auch für andere Xcode-Anwender nützlich. Er fasst zusammen, welche speziellen Maus- bzw. Trackpad-Kürzel es in Xcode gibt. (Wenn etwas fehlt: Bitte verfassen Sie einen Kommentar oder schreiben Sie an kontakt@kofler.info.)

Versteckte Maus/Trackpad-Kürzel in Xcode weiterlesen

try/catch in Swift 2

In der erste Version von Swift fehlte eine try-catch-Konstruktion zum Umgang mit Fehlern. Diese Entscheidung ist vielfach auf Unverständnis gestossen. In Version 2 hat Apple nachgebessert: Es gibt nun eine try/catch-Syntax, die ähnlich wie in anderen Programmiersprachen aussieht, auch wenn sie intern vollkommen anders und insbesondere ohne Exceptions implementiert ist.

try/catch in Swift 2 weiterlesen

Swift 2: Reflection

Swift fehlt leider ein allgemein gültiger Ansatz, um die Eigenschaften von Objekten bzw. Typen festzustellen. Andere Programmiersprachen besitzen dafür Reflection-Funktionen, z.B. Objective C, C# oder Java.

Swift ist aber zumindest eingeschränkt zur Selbstreflexion in der Lage, wobei sich die Vorgehensweise in der gestern freigegebenen Beta 4 von Xcode 7 Beta 4 nochmals geändert hat:

  • Die globale Funktion reflect ist verschwunden, ebenso der MirrorType.
  • Dafür gibt es die neue Mirror-Klasse.

Swift 2: Reflection weiterlesen

Swift 2: Zeichenketten

Kurz bevor mein Buch zu Swift 1.2 in Druck ging, stellte Apple Swift 2.0 vor. Jetzt bin ich also dabei, das ganze Manuskript nochmals zu überarbeiten, damit es im September als echtes Swift-2.0-Buch erscheinen kann. Im Zuge dieser Überarbeitung werden ich gelegentlich die wichtigsten Neuerungen in Blog-Beiträgen präsentieren. Heute beginne ich mit Zeichenketten.

Swift 2: Zeichenketten weiterlesen

Optionals in Swift — Fluch oder Segen?

Viele Programmiersprachen unterscheiden zwischen Wert- und Referenztypen. Werttypen sind für elementare Daten gedacht, vor allem Zahlen. Referenztypen enthalten dagegen Verweise auf Objekte. Sie können null sein, also nicht initialisiert, leer.

Swift unterscheidet ebenfalls zwischen Wert- und Referenztypen. Allerdings ist in Swift vieles ein Werttyp, was in anderen Sprachen ein Referenztyp wäre — Arrays, Dictionaries, Sets etc. Die eigentliche Besonderheit ist aber der Umgang mit dem Zustand null, der in Swift nil heißt:

  • »Gewöhnliche Variablen« — egal, ob Wert- oder Referenztypen — müssen vor vor der ersten Verwendung initialisiert werden; in Klassen muss die Initialisierung im Rahmen der Deklaration oder durch die init-Funktion erfolgen.
  • Nur wenn die Variable zusätzlich als »Optional« gekennzeichnet wird, ist auch der Zustand nil erlaubt. Optionals gibt es gleichermaßen für Wert- und Referenztypen.

Optionals in Swift — Fluch oder Segen? weiterlesen

CentOS: Probleme beim Update von 7.0 auf 7.1

Wenn Sie regelmäßig yum update ausführen, ist aus Ihrer CentOS-7-Installation schon seit geraumer Zeit CentOS 7.1 geworden. Nicht so fleißige Administratoren haben aber Pech: Wenn Sie einige Wochen lang kein Update durchgeführt haben, dann scheitert der Update-Versuch jetzt.

Der Grund: Eine Woche nach dem Update von CentOS 7 auf 7.1 wurden die Mirror-Verzeichnisse umgestellt, von 7.0.1406 auf 7.1.1503. Standardmäßig ist deltarpm aktiv, d.h. die Paketverwaltung versucht, nur Delta-Pakete herunterzuladen. Und das scheitert wegen der Versionsumstellung. Sie erhalten lauter HTTP Not Found Fehlermeldungen.

CentOS: Probleme beim Update von 7.0 auf 7.1 weiterlesen