Kurzbeschreibungen für Entwickler
enum, import, fallthrough: Die Schlüsselwörter von Swift 3
Die aktuelle Version der Apple-Programmiersprache Swift 3 kennt knapp 100 Schlüsselwörter. Sogenannte Keywords, die eine feste Funktion innerhalb des von euch verfassten Swift Quellcodes erfüllen und sich nicht zum Setzen eigener Variablen und Funktionen nutzen lassen.
Neben den Keywords, die in Swift-Statements genutzt werden (u.a. break, case, if, else, switch, where und while) kennt die Programmiersprache feste Begriffe für Deklarationen (etwa private und typealias), Schlüsselwörter, die mit einer Raute beginnen (u.a. #imageLiteral, #line und #selector) und solche, die einen bestimmten Kontext zum Einsatz voraussetzen (zum Beispiel nonmutating, override oder required).
Der Entwickler Jordan Morgan hat sich allen 93 vorhandenen Keywords jetzt in seinem Artikel „Swift + Keywords – A Tell All“ gewidmet und flankiert jeden Begriff mit einer kurzen Erklärung und nachvollziehbaren Einsatzbeispielen.
Eine hervorragende Liste zum Auffrischen bereits erlernter Swift-Kenntnisse und eine nette Referenz zum Nachschlagen. Hier entlang.
Wie findet ihr denn Swift3? Ich habe vor kurzem nach der Arbeit versucht mir eine Apple Watch App selbst zu basteln. Ich fand es extrem schwierig im Internet nach Lösungen zu meinen Problemen zu suchen. Bei Android finde ich viel viel schneller die passenden Lösungen zu meinen Problemen… als Neueinsteiger ist für mich Swift ziemlich hart oder geht das nur mir so? (Habe davon noch nie etwas mit Swift gemacht)
Lg :)
Also ich komme wunderbar mit Swift 3 klar. Mittlerweile hab ich sogar das Problem, dass ich mir eine Lösung für ein Problem ausdenke und dass dann in anderen Programmiersprachen nicht umsetzen kann, da es die Features, die ich verwende, garnicht da gibt, in Swift aber schon. Aber so ist das halt mit Sprachen. Jeder hat da seine Vorlieben.
…und was sollen das für besondere Features sein, die es nur in Swift 3 geben soll?
@Teetrinker Native Tupel zum Beispiel. Das ist besonders in Switch-case Abfragen sehr praktisch.
Swifty / Mimo
Hi Luke,
Swift ist ja nur ein kleiner Teil der App-Erstellung, so hab ich das empfunden, als Swift rauskam und ich voller Eifer ans Programmieren ging.
Vorher hatte ich ein paar umfangreiche komplexe Apps fürs iPhone und iPad geschrieben. Aber dann stellte ich fest, das alles noch ziemlich lückenhaft ist und es ganz alleine mit ObjC besser ging.
Ich habe dann aufgegeben, will es aber wieder anfangen, weil ich jetzt mehr Zeit habe. Kann sein Swift ist jetzt viel besser. Aber kann gut verstehen was Du meinst.
@Luke
Swift ist eigentlich kinderleicht.
Selten eine so einfache, logische Sprache gesehen. Es gibt ein paar kleine Haken (UIViewController Klassen zB.), aber das bekommt man schnell in den Griff und dann besticht Swift durch ihre Simplizität.
Ja, wahrscheinlich liegts bei mir auch einfach daran, dass ich vorher noch gar nichts mit iOS Entwicklung zu tun hatte :D
Seit gut 2 Monaten beschäftige ich mich jeden Tag mit Swift und ich kann nur sagen, dass es sich lohnt mit der Sprache auseinander zu setzen.
Sehr hilfreich waren mir bisher diverse Videos auf Udemy.com sowie das Buch „Swift 3“ von Michael Kofler (Rheinwerk Verlag).
Mein aktuelles Projekt ist es eine Immobilien Datenbank zu entwickeln. Die DB wird auf MySQL basieren. Zugriff und Administration der Daten realisiere ich via PHP sowie macOS Applikation in Swift3.
And by the way … wie ich heute erfahren habe, scheint auch Microsoft „Swift“ gut zu finden. In C# Version 7 sollen etliche Elemente der Swift Sprache ebenfalls einfliessen.
Chris, besten Dank für die Tipps! :)
Na ja ob gut oder nicht, bei der Anzahl von Keywords und dem @ und # Wirrwarr fällt mir eine alte Informatiker Weisheit ein. „Wenn ich nicht mehr weiter kann, mach ich ein Parameter ran“
Ich habe früher einiges mit ObjC gemacht, heute bin ich glücklicher Swift-Programmierer (zudem programmiere ich viel in Java). Swift ist sehr gut und modern, gerade die eingebauten Optionals machen es sicherer als Java. Swift gefällt mir jedenfalls viel besser als ObjC.