Sillmann Swift im Detail
1. Auflage 2015
ISBN: 978-3-446-44423-2
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Deutsch, 346 Seiten
ISBN: 978-3-446-44423-2
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
SWIFT IM DETAIL //
- Für alle, die in Apples neue Programmiersprache einsteigen wollen: iOS-/OS X-Entwickler, (App-)Entwickler aller Couleur, Einsteiger ohne Programmierkenntnisse
- Von den Basics bis zu fortgeschrittenen Techniken
- Mit zahlreichen Vergleichen zu Objective-C
- Code-Beispiele und zusätzliche Infos sind auf der Autorenwebsite abrufbar
Dieses Buch ist unentbehrlich für alle, die mit Swift ihre eigenen Apps programmieren wollen. Es eignet sich bestens sowohl für komplette Neueinsteiger als auch für erfahrene Programmierer. Fundiert und praxisnah zeigt es Ihnen von Grund auf, wie Sie alle Facetten und Eigenheiten der Sprache optimal verwenden können.
Von der grundlegenden Erstellung von Variablen, Konstanten und Funktionen über die objektorientierte Programmierung mittels Klassen und Methoden bis hin zu Subscripts, Generics und Access Control vermittelt Ihnen Autor Thomas Sillmann sämtliche Sprachmerkmale und Besonderheiten von Swift.
Zudem werden an jeweils passender Stelle Vergleiche zwischen Swift und Objective-C angestellt, so dass iOS-/OS X-Entwickler schnell erkennen können, wie sie bestimmte Aufgaben mit Swift angehen und lösen. In einem Extra-Kapitel wird darüber hinaus gezeigt, wie Sie Objective-C- und Swift-Code mischen und bestehende Projekte nach Swift migrieren können.
AUS DEM INHALT //
Grundlagen: Variablen, Konstanten, Abfragen, Funktionen // Fundamental Types // Enumerations, Structures & Klassen // Properties & Methoden // Optionals // Initialisierung & Deinitialisierung // Speicherverwaltung // Extensions, Protocols, Generics // Access Control // Swift, Cocoa & Objective-C // Swift & Xcode
Autoren/Hrsg.
Fachgebiete
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Macintosh Programmierung
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Programmier- und Skriptsprachen
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Handheld Programmierung
Weitere Infos & Material
1;Inhalt;8
2;1 Apples neue Programmiersprache: Swift;14
2.1;1.1 Willkommen bei Swift!;14
2.2;1.2 Warum Swift?;14
2.3;1.3 Swift und Objective-C;15
2.4;1.4 Voraussetzungen für die Swift-Entwicklung;16
2.4.1;1.4.1 Xcode;16
2.4.2;1.4.2 Mac;17
2.5;1.5 Swift-Ressourcen;18
2.5.1;1.5.1 Apples Entwickler-Dokumentation;18
2.5.2;1.5.2 Swift-Blog;20
2.5.3;1.5.3 Code-Beispiele des Autors;21
2.5.4;1.5.4 Das Internet;22
3;2 Grundlagen der Programmierung;24
3.1;2.1 Variablen und Konstanten;28
3.1.1;2.1.1 Type Inference und Type Annotation;30
3.2;2.2 Abfragen und Schleifen;31
3.2.1;2.2.1 Bedingungen;31
3.2.2;2.2.2 If;34
3.2.3;2.2.3 While;36
3.2.4;2.2.4 Do-While;37
3.2.5;2.2.5 For;38
3.2.6;2.2.6 For-In;39
3.2.7;2.2.7 Switch;41
3.2.8;2.2.8 Control Transfer Statements;44
3.3;2.3 Kommentare;46
3.3.1;2.3.1 Verschachtelte Kommentare;46
3.3.2;2.3.2 Schlüsselwörter für Kommentare;47
3.4;2.4 Fundamental Types;48
3.4.1;2.4.1 Strings und Characters;49
3.4.2;2.4.2 Arrays;53
3.4.3;2.4.3 Dictionaries;62
3.4.4;2.4.4 Tuples;71
3.5;2.5 Funktionen;73
3.5.1;2.5.1 Grundaufbau und Aufruf einer Funktion;74
3.5.2;2.5.2 Eine erste einfache Funktion;74
3.5.3;2.5.3 Funktion mit Parametern;75
3.5.4;2.5.4 Funktion mit Rückgabewert;76
3.5.5;2.5.5 Funktion mit mehreren Rückgabewerten;79
3.5.6;2.5.6 Funktion mit optionalem Rückgabewert;80
3.5.7;2.5.7 Funktion mit optionalen Parametern;81
3.5.8;2.5.8 Local und External Parameter Names;82
3.5.9;2.5.9 Funktionen mit Standardwerten für Parameter;85
3.5.10;2.5.10 Funktionen mit beliebiger Parameterzahl;87
3.5.11;2.5.11 Funktionen mit Variablen als Parameter;88
3.5.12;2.5.12 Funktionen mit veränderbaren In-Out-Parametern;89
3.5.13;2.5.13 Function Types;91
3.5.14;2.5.14 Verschachtelte Funktionen;95
3.6;2.6 Closures;97
3.6.1;2.6.1 Closures als Variablen und Konstanten;98
3.6.2;2.6.2 Closures als Parameter für Funktionen;99
3.6.3;2.6.3 Kurzschreibweise für Closures als Parameter von Funktionen;103
3.7;2.7 Enumerations;105
3.7.1;2.7.1 Kurzschreibweisen für Enumerations;108
3.7.2;2.7.2 Enumerations mittels Switch abfragen;109
3.7.3;2.7.3 Zusätzliche Informationen in Enumeration-Werten speichern;110
3.7.4;2.7.4 Member einer Enumeration feste Werte zuweisen;112
3.7.5;2.7.5 Enumerations sind Value Types;114
3.8;2.8 Structures;115
3.8.1;2.8.1 Erstellen einer neuen Instanz;116
3.8.2;2.8.2 Structures mit Properties;117
3.8.3;2.8.3 Structures mit Methoden;121
3.8.4;2.8.4 Structures sind Value Types;122
4;3 Objektorientierte Programmierung mit Swift;124
4.1;3.1 Swift und objektorientierte Programmierung;124
4.2;3.2 Klassen;125
4.2.1;3.2.1 Erstellen und Verwenden einer neuen Instanz;126
4.2.2;3.2.2 Initialisierung von Objekten einer Klasse;127
4.2.3;3.2.3 Klassen sind Reference Types;130
4.2.4;3.2.4 Unterschiede zwischen Klassen und Strukturen;132
4.3;3.3 Properties;133
4.3.1;3.3.1 Stored Properties;134
4.3.2;3.3.2 Computed Properties;140
4.3.3;3.3.3 Property Observers;146
4.3.4;3.3.4 Globale und lokale Variablen;150
4.3.5;3.3.5 Type Properties;151
4.4;3.4 Methoden;154
4.4.1;3.4.1 Instance Methods;154
4.4.2;3.4.2 Type Methods;161
4.5;3.5 Subscripts;163
4.5.1;3.5.1 Aufbau von Subscripts;163
4.5.2;3.5.2 Subscript Overloading;167
4.6;3.6 Optionals;168
4.6.1;3.6.1 Forced Unwrapping;170
4.6.2;3.6.2 Optional Binding;173
4.6.3;3.6.3 Implicit Unwrapping;174
4.6.4;3.6.4 Optional Chaining;176
4.7;3.7 Vererbung;183
4.7.1;3.7.1 Vererbung im Detail;184
4.7.2;3.7.2 Überschreiben von Properties, Methoden und Subscripts;187
4.7.3;3.7.3 Zugriff auf Properties, Methoden und Subscripts der Superklasse;191
4.8;3.8 Initialisierung;192
4.8.1;3.8.1 Grundaufbau eines Initializers;192
4.8.2;3.8.2 Initializer mit Parametern;194
4.8.3;3.8.3 Default Initializer;196
4.8.4;3.8.4 Local Parameter Names und External Parameter Names in Initializern;198
4.8.5;3.8.5 Initializer und Optionals;199
4.8.6;3.8.6 Initializer und Constant Stored Properties;201
4.8.7;3.8.7 Erstellen mehrerer Initializer;202
4.8.8;3.8.8 Initializer und Vererbung;207
4.8.9;3.8.9 Deinitialisierung;225
4.9;3.9 Speicherverwaltung mit ARC;227
4.9.1;3.9.1 Strong References und Reference Cycles;228
4.9.2;3.9.2 Weak References;231
4.9.3;3.9.3 Unowned References;234
4.9.4;3.9.4 Best Practices zur Speicherverwaltung;240
4.9.5;3.9.5 Closure Capture List;240
4.10;3.10 Type Casting;245
4.10.1;3.10.1 Typ prüfen mit is;246
4.10.2;3.10.2 Downcasting mit as;247
4.10.3;3.10.3 Any und AnyObject;248
4.11;3.11 Nested Types;251
5;4 Weiterführende Sprachmerkmale von Swift;254
5.1;4.1 Extensions;254
5.1.1;4.1.1 Syntax;255
5.1.2;4.1.2 Computed Properties;255
5.1.3;4.1.3 Methoden;256
5.1.4;4.1.4 Initializer;257
5.1.5;4.1.5 Subscripts;258
5.1.6;4.1.6 Nested Types;259
5.2;4.2 Protocols;260
5.2.1;4.2.1 Syntax;261
5.2.2;4.2.2 Deklaration von Properties;262
5.2.3;4.2.3 Deklaration von Methoden;264
5.2.4;4.2.4 Deklaration von Initializern;267
5.2.5;4.2.5 Protocol Type;270
5.2.6;4.2.6 Delegation;271
5.2.7;4.2.7 Protocol Composition;275
5.2.8;4.2.8 Protocols und Extensions;277
5.2.9;4.2.9 Vererbung;279
5.2.10;4.2.10 Class-Only Protocols;281
5.2.11;4.2.11 Protocol Conformance;282
5.2.12;4.2.12 Optionale Eigenschaften;284
5.3;4.3 Generics;286
5.3.1;4.3.1 Generic Functions;287
5.3.2;4.3.2 Generic Types;289
5.3.3;4.3.3 Type Constraints;291
5.3.4;4.3.4 Associated Types;292
5.4;4.4 Access Control;296
5.4.1;4.4.1 Modules und Source Files;297
5.4.2;4.4.2 Access Levels;298
5.4.3;4.4.3 Syntax;298
5.4.4;4.4.4 Access Levels in Custom Types;299
5.4.5;4.4.5 Access Levels in Getter und Setter einer Property;302
6;5 Swift, Cocoa und Objective-C;304
6.1;5.1 Interoperability;305
6.1.1;5.1.1 Swift Type Compatibility;306
6.1.2;5.1.2 Selectors in Objective-C;308
6.1.3;5.1.3 Optionals in Swift und Objective-C;308
6.1.4;5.1.4 Arbeiten mit dem Interface Builder;309
6.1.5;5.1.5 Arbeiten mit Core Data Managed Object Subclasses;310
6.1.6;5.1.6 Automatic Bridging;311
6.1.7;5.1.7 Cocoa Design Patterns;313
6.2;5.2 Mix and Match;313
6.2.1;5.2.1 Mix and Match innerhalb eines App-Targets;314
6.2.2;5.2.2 Mix and Match innerhalb eines Framework-Targets;316
6.3;5.3 Migration;317
7;6 Swift und Xcode;320
7.1;6.1 Installation von Xcode;320
7.2;6.2 Erstellen eines neuen Swift-Projekts;322
7.3;6.3 Der Grundaufbau von Xcode;325
7.4;6.4 Neue Swift-Dateien erstellen;329
7.5;6.5 Refactoring – leider nein!;331
7.6;6.6 Playgrounds im Detail;331
8;7 Profi-Wissen und Tipps für die tägliche Arbeit;336
8.1;7.1 Zahlenwerte übersichtlicher gestalten;336
8.2;7.2 Benennung von Variablen und Konstanten mit Sonderzeichen und Emoticons;337
8.3;7.3 Switch für Fortgeschrittene;338
8.3.1;7.3.1 Tuples;338
8.3.2;7.3.2 Value Binding;339
8.3.3;7.3.3 Where;339
8.4;7.4 Kurzschreibweise für Abfragen bei return;340
8.5;7.5 Custom Operators;340
8.6;7.6 Swift-Beispielprojekte;342
9;Index;344