Swift 5. Das umfassende Handbuch - Michael Kofler  [Gebundene Ausgabe]

Swift 5. Das umfassende Handbuch - Michael Kofler [Gebundene Ausgabe]

Wähle den Zustand

Preise sind Endpreise zzgl. Versandkosten
  1. Sichtbare Gebrauchsspuren auf einzelnen Seiten
  2. z.B. mit einem gebrauchten Buchrücken, ohne Schuber/Umschlag, mehreren Markierungen, altersbedingte Vergilbung
  3. Könnte ein Mängelexemplar sein
  4. Gut für den Eigenbedarf geeignet

Das reBuy Versprechen

21 Tage Widerrufsrecht
Der Umwelt zuliebe
Geprüfte Gebrauchtware
Zustand: Gut
  • Zustellung in 1-3 Werktagen
  • alert-danger Fast ausverkauft

37,89 €

Das reBuy Versprechen

21 Tage Widerrufsrecht
Der Umwelt zuliebe
Geprüfte Gebrauchtware
menu-left Zurück

Produktinformationen

Details
EAN / ISBN-139783836266383
Höhe24 cm
AutorMichael Kofler
ProduktformGebundene Ausgabe
Auflage4
HerausgeberRheinwerk
Erscheinungsdatum 2019
Inhaltsverzeichnis  Vorwort ... 17 TEIL I  Swift ... 21   1.  Hello World! ... 23        1.1 ... »Hello World« im Playground ... 23        1.2 ... »Hello World« als Terminal-App ... 32   2.  Swift-Crashkurs ... 41        2.1 ... Elementare Syntaxregeln und Kommentare ... 41        2.2 ... Variablen, Konstanten und Datentypen ... 46        2.3 ... Strukturierung des Codes ... 50        2.4 ... Klassen und Datenstrukturen ... 54        2.5 ... Fehlerabsicherung ... 56        2.6 ... Xcode-Crashkurs ... 58   3.  Operatoren ... 69        3.1 ... Zuweisungs- und Rechenoperatoren ... 69        3.2 ... Vergleichsoperatoren und logische Operatoren ... 74        3.3 ... Range-Operatoren ... 78        3.4 ... Operatoren für Fortgeschrittene ... 82        3.5 ... Eigene Operatoren ... 85   4.  Variablen und Optionals ... 89        4.1 ... Variablen und Konstanten ... 89        4.2 ... Optionals ... 95        4.3 ... Wert- versus Referenztypen ... 100   5.  Verzweigungen und Schleifen ... 103        5.1 ... Verzweigungen mit if ... 103        5.2 ... Inverse Logik mit guard ... 106        5.3 ... Verzweigungen mit switch ... 108        5.4 ... Versions- oder plattformabhängiger Code ... 111        5.5 ... Schleifen ... 112        5.6 ... Nicht triviale Schleifen ... 117   6.  Funktionen und Closures ... 123        6.1 ... Funktionen definieren und ausführen ... 123        6.2 ... Parameter ... 134        6.3 ... Standardfunktionen ... 141        6.4 ... Funktionale Programmierung ... 145        6.5 ... Closures ... 150   7.  Zahlen und geometrische Strukturen ... 161        7.1 ... Zahlen und boolesche Werte ... 161        7.2 ... NSNumber ... 166        7.3 ... CGFloat, CGPoint, CGSize und Co. ... 167   8.  Zeichenketten ... 173        8.1 ... Syntax ... 173        8.2 ... Bearbeitung von Zeichenketten ... 179        8.3 ... Suchen und ersetzen ... 183        8.4 ... Zeichenketten zerlegen und zusammensetzen ... 186        8.5 ... Zeichenketten und Zahlen umwandeln ... 192        8.6 ... Zeichenketten und binäre Daten umwandeln (Data-Struktur) ... 195   9.  Datum und Uhrzeit ... 197        9.1 ... Datum und Uhrzeit ermitteln und darstellen ... 197        9.2 ... Rechnen mit Datum und Uhrzeit ... 199 10.  Arrays, Dictionaries, Sets und Tupel ... 201        10.1 ... Arrays ... 201        10.2 ... Arrays und Aufzählungen verarbeiten ... 211        10.3 ... Dictionaries ... 221        10.4 ... Sets ... 225        10.5 ... Option-Sets ... 226        10.6 ... Tupel ... 228        10.7 ... Lottosimulator ... 230 11.  Objektorientierte Programmierung I ... 235        11.1 ... Klassen und Strukturen ... 236        11.2 ... Enumerationen ... 244        11.3 ... Eigenschaften ... 251        11.4 ... Init- und Deinit-Funktion ... 263        11.5 ... Methoden ... 269        11.6 ... Subscripts ... 276        11.7 ... Typ-Aliasse ... 279        11.8 ... Speicherverwaltung ... 279 12.  Objektorientierte Programmierung II ... 285        12.1 ... Vererbung ... 285        12.2 ... Generics ... 297        12.3 ... Protokolle ... 302        12.4 ... Standardprotokolle ... 312        12.5 ... Extensions ... 320        12.6 ... Protokollerweiterungen ... 325        12.7 ... Reflection und Metatypen ... 328 13.  Fehlerabsicherung ... 335        13.1 ... Fehlerabsicherung mit try und catch ... 335        13.2 ... Selbst Fehler auslösen (throws und throw) ... 344        13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 348        13.4 ... Das Error-Protokoll ... 351        13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 353        13.6 ... Result-Datentyp ... 355 14.  Importe, Attribute und Systemfunktionen ... 361        14.1 ... Module, Frameworks und Importe ... 361        14.2 ... Attribute ... 365        14.3 ... Systemfunktionen aufrufen ... 367 TEIL II  App-Programmierung ... 373 15.  Hello iOS-World! ... 375        15.1 ... Projektstart ... 376        15.2 ... Gestaltung der App ... 377        15.3 ... Steuerung der App durch Code ... 381        15.4 ... Actions und Outlets für Fortgeschrittene ... 386        15.5 ... Layout optimieren ... 389        15.6 ... Textgröße mit einem Slider einstellen ... 394        15.7 ... Apps auf dem eigenen iPhone oder iPad ausführen ... 396        15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 399 16.  iOS-Grundlagen ... 401        16.1 ... Model-View-Controller (MVC) ... 401        16.2 ... Klassenhierarchie einer App-Ansicht ... 405        16.3 ... Die UIViewController-Klasse ... 407        16.4 ... Phasen einer iOS-App ... 411        16.5 ... Auto Layout ... 414        16.6 ... Layoutregeln durch Code definieren ... 429        16.7 ... Steuerelemente in einer Stack-View anordnen ... 431        16.8 ... Layoutvarianten ... 435        16.9 ... Texteingaben ... 442        16.10 ... Image-Views und Xcassets ... 450 17.  iOS-Apps mit mehreren Ansichten ... 453        17.1 ... Storyboard und Controller-Klassen verbinden ... 453        17.2 ... Ansichten durch Segues verbinden ... 454        17.3 ... Segues mit Datenübertragung ... 459        17.4 ... Navigation-Controller ... 464        17.5 ... Tab-Bar-Controller ... 469        17.6 ... Split-View-Controller ... 475        17.7 ... Popups ... 485        17.8 ... Ja/Nein-Dialoge (UIAlertController) ... 496 18.  Hello macOS-World! ... 499        18.1 ... Lottozahlengenerator ... 500 19.  macOS-Grundlagen ... 509        19.1 ... Programme mit mehreren Fenstern ... 509        19.2 ... Tab-View-Controller ... 516        19.3 ... Standarddialoge ... 523        19.4 ... Tastatur ... 528        19.5 ... Menüs ... 533        19.6 ... Programme ohne Menü ... 542        19.7 ... Dunkles Erscheinungsbild (»Dark Mode«) ... 544 20.  tvOS ... 547        20.1 ... Hello tvOS! ... 548        20.2 ... Fernbedienung auswerten ... 552        20.3 ... Focus Engine ... 558 TEIL III  Programmier- und Arbeitstechniken ... 565 21.  Dateien und User-Defaults ... 567        21.1 ... User-Defaults ... 567        21.2 ... Dateinamen und URLs ... 571        21.3 ... Bundle-Dateien und Assets ... 573        21.4 ... Standardverzeichnisse ... 575        21.5 ... Dateioperationen ... 580        21.6 ... Wie geht's weiter? ... 587 22.  Netzwerk, XML und JSON ... 589        22.1 ... Dateien per HTTP/HTTPS laden ... 589        22.2 ... XML-Dokumente auswerten ... 597        22.3 ... JSON-Encoder und -Decoder ... 601        22.4 ... Webseiten anzeigen ... 608 23.  Tabellen und Listen darstellen ... 615        23.1 ... Listen in iOS-Apps (UITableView) ... 615        23.2 ... Prototypzellen ... 621        23.3 ... Individuelle Gestaltung von Listenzellen ... 626        23.4 ... Veränderliche Listen ... 632        23.5 ... Tabellen in macOS-Apps (NSTableView) ... 634        23.6 ... Collections asynchron füllen (UICollectionView) ... 645 24.  GPS- und Kompassfunktionen ... 653        24.1 ... Hello Map-View! ... 653        24.2 ... Wegstrecke aufzeichnen ... 658        24.3 ... Kompassfunktionen ... 665 25.  Grafik und Animation ... 667        25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 667        25.2 ... Kompass-Steuerelement ... 673        25.3 ... Core Graphics ... 682        25.4 ... Animationen ... 685 26.  Touch, Maus, Gestures und Drag & Drop ... 691        26.1 ... Touch ... 691        26.2 ... Maus ... 698        26.3 ... Gestures ... 705        26.4 ... Drag & Drop (macOS) ... 708        26.5 ... Drag & Drop (iOS) ... 721 27.  Audio, Video und Fotos ... 735        27.1 ... Audiowiedergabe mit dem AVAudioPlayer ... 735        27.2 ... Audiowiedergabe mit dem AVPlayer ... 745        27.3 ... Audiowiedergabe mit dem AVPlayerViewController ... 747        27.4 ... Audioaufnahmen mit dem AVAudioRecorder durchführen ... 749        27.5 ... Videos abspielen ... 754        27.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 757        27.7 ... YouTube-Videos abspielen ... 761        27.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 764        27.9 ... Fotos in einer AVCaptureSession aufnehmen ... 766        27.10 ... Barcodes in einer AVCaptureSession erkennen ... 774 28.  SpriteKit ... 779        28.1 ... Hello SpriteKit! ... 780        28.2 ... Sprites erzeugen und bewegen ... 789        28.3 ... Spielsteuerung durch Touch-Ereignisse ... 794        28.4 ... Bewegungssteuerung (Gyroskop und Accelerometer) ... 800        28.5 ... Aktionen ... 806        28.6 ... Der Game-Loop ... 812        28.7 ... Kollisionserkennung ... 814        28.8 ... Minispiel: Luftballone abschießen ... 820        28.9 ... Physik ... 826        28.10 ... Minispiel: Pyramide zerstören ... 832        28.11 ... Scene-Editor ... 838        28.12 ... Partikel-Emitter ... 844 29.  Core Data und SQLite ... 847        29.1 ... Hello, Core Data! ... 848        29.2 ... Core-Data-Klassenüberblick ... 853        29.3 ... Core-Data-Entities verknüpfen (Relationships) ... 855        29.4 ... Core-Data-Interna ... 865        29.5 ... SQLite.swift ... 868 30.  iCloud ... 879        30.1 ... iCloud-Grundlagen ... 879        30.2 ... Key-Value-Speicher ... 885        30.3 ... CloudKit-Grundlagen ... 892        30.4 ... CloudKit-Programmiertechniken ... 899        30.5 ... CloudKit-Beispiel ... 908 31.  Asynchrone Programmierung ... 921        31.1 ... Hello Grand Central Dispatch! ... 922        31.2 ... GCD-Grundlagen ... 925        31.3 ... Parallel rechnen ... 930 32.  App Store und Co. ... 937        32.1 ... iOS-Artwork (Icons, Launch Screen) ... 938        32.2 ... macOS-Artwork (Icon) ... 940        32.3 ... tvOS-Artwork (Parallax-Icons, Launch und Top Shelf Image) ... 941        32.4 ... Mehrsprachige Apps ... 947        32.5 ... Eigene Apps im App Store anbieten ... 961        32.6 ... macOS-Programme selbst weitergeben ... 970 33.  Xcode-Arbeitstechniken ... 979        33.1 ... Simulator-Ausgaben stoppen ... 979        33.2 ... Header-Code einer eigenen Klasse erzeugen ... 980        33.3 ... Versionsverwaltung mit Git ... 981        33.4 ... Crashlogs ... 984        33.5 ... Refactoring ... 984        33.6 ... Projekte umbenennen ... 986        33.7 ... Xcode-Verzeichnisse aufräumen ... 986        33.8 ... Apple Configurator ... 989 34.  Server-side Swift ... 991        34.1 ... Swift unter Linux ... 994        34.2 ... Vapor kennenlernen ... 1000        34.3 ... Die Vapor-Toolbox ... 1010        34.4 ... Vapor-Grundlagen ... 1012        34.5 ... Datenbankanbindung mit Fluent ... 1024        34.6 ... Authentifizierung und Autorisierung ... 1037        34.7 ... Deployment ... 1045 TEIL IV  Beispielprojekte ... 1051 35.  New-York-Times-Bestseller ... 1053        35.1 ... New-York-Times-API ... 1055        35.2 ... Benutzeroberfläche ... 1058        35.3 ... Split-View-Variante ... 1062 36.  To-do-Listen ... 1067        36.1 ... Gestaltung der Benutzeroberfläche ... 1068        36.2 ... Datenmodell ... 1069        36.3 ... View-Controller-Klasse ... 1070        36.4 ... Popup-View-Controller-Klasse ... 1077        36.5 ... iCloud-Variante ... 1078        36.6 ... Core-Data-Variante ... 1083        36.7 ... SQLite-Variante ... 1087 37.  Schatzsuche ... 1097        37.1 ... Aufbau der App ... 1097        37.2 ... Datenmodell ... 1101        37.3 ... Location Manager selbst gemacht ... 1104        37.4 ... Steuerelement zur Richtungsanzeige (UIBezierPath) ... 1108        37.5 ... Hauptansicht mit Listenfeld ... 1109        37.6 ... Popup-Dialog zum Speichern ... 1114        37.7 ... Detailansicht mit Richtungspfeil ... 1115 38.  Währungskalkulator ... 1121        38.1 ... App-Überblick ... 1121        38.2 ... Kurse ermitteln ... 1127        38.3 ... Das Datenmodell der App ... 1129        38.4 ... Umrechnungsansicht ... 1132        38.5 ... Einstellungsansicht ... 1138        38.6 ... Internationalisierung und Lokalisierung ... 1143 39.  Fünf gewinnt ... 1145        39.1 ... Die App »Fünf gewinnt« ... 1145        39.2 ... Enumerationen und globale Funktionen (Globals.swift) ... 1148        39.3 ... Die Spiellogik (FiveWins.swift) ... 1152        39.4 ... Darstellung des Spielbretts und der Steine (BoardView.swift) ... 1162        39.5 ... Steuerung des Spielablaufs (ViewController.swift) ... 1171        39.6 ... Der Popup-Dialog (PopupVC.swift) ... 1176        39.7 ... Erweiterungsmöglichkeiten ... 1179 40.  Puzzle-App ... 1181        40.1 ... Programmaufbau ... 1182        40.2 ... Die Klassen »Tile« und »Puzzle« ... 1185        40.3 ... Verwaltung der Benutzeroberfläche im View-Controller ... 1190 41.  Icon-Resizer ... 1195        41.1 ... App-Überblick ... 1195        41.2 ... Icons verwalten (IconSize-Struktur) ... 1201        41.3 ... Hauptfenster (ViewController.swift) ... 1206        41.4 ... Drag-and-Drop-Quelle für Icons (IconCellView.swift) ... 1213        41.5 ... Drag-and-Drop-Empfänger für Icons (OriginalIconView.swift) ... 1215        41.6 ... Popup-Menü (IconChoiceVC.swift) ... 1217        41.7 ... Temporäres Verzeichnis erstellen und löschen ... 1218 42.  Breakout ... 1221        42.1 ... Programmaufbau ... 1222        42.2 ... Initialisierung ... 1223        42.3 ... Spielsteuerung ... 1230 43.  Pac-Man selbst gemacht ... 1233        43.1 ... Programmaufbau ... 1234        43.2 ... Der Tile-Editor »Tiled« ... 1235        43.3 ... Globale Konstanten, Datenstrukturen und Enumerationen ... 1240        43.4 ... Initialisierung des Spiels ... 1242        43.5 ... Die Maze-Klasse ... 1245        43.6 ... Aufbau der Spielszene (setup-Methoden) ... 1249        43.7 ... Spielsteuerung (touch-Methoden) ... 1255        43.8 ... Bewegung des Pac-Mans ... 1260        43.9 ... Steuerung der Monster ... 1264        43.10 ... Kollisionen ... 1269        43.11 ... Apple-TV-Variante von Pac-Man ... 1273        43.12 ... Pac-Man-Figuren zeichnen ... 1277 44.  Asteroids ... 1279        44.1 ... Programmaufbau ... 1280        44.2 ... Globale Konstanten und Funktionen ... 1282        44.3 ... Programmstart und Tastaturereignisse (GameViewController) ... 1282        44.4 ... Initialisierung des Spiels (GameScene) ... 1285        44.5 ... Spielablauf (ebenfalls in GameScene) ... 1291        44.6 ... Fokussierbare Menütexte (MyLabel) ... 1296        44.7 ... Der Einstellungsdialog (MainScene) ... 1297   Index ... 1303
HauptbeschreibungDer perfekte Start in Apples Programmiersprache Swift! Alle Swift-Grundlagen und Sprachelemente: von for-Schleife bis Closures Moderne Anwendungen mit Xcode programmieren Beispiel-Apps und Spiele entwickeln – für iOS, macOS und tvOS Michael Kofler präsentiert Ihnen alle Sprachmerkmale und Besonderheiten von Swift und führt Sie in die Syntax der Sprache ein. Mithilfe objektorientierter und funktionaler Programmierung lernen Sie, ansprechende, moderne Apps in iOS, macOS und tvOS zu entwickeln. Dabei machen Sie sich auch mit der Arbeit in Xcode vertraut und lernen eine Vielzahl an nützlichen Frameworks kennen. Machen Sie bei neun größeren App-Projekten mit und erleben Sie die Swift-Funktionen direkt in der Praxis. Ideal für Umsteiger von Objective-C und Java sowie für Einsteiger mit Grundkenntnissen im Programmieren. Aus dem Inhalt: Klassen, Protokolle, Extensions Closures, Umgang mit Fehlern Crashkurs in Xcode Storyboards erstellen Internationalisierung Actions, Outlets, Segues Popovers, Focus Engine Artwork für iOS, macOS und tvOS Programmiertechniken Tabellen und Listen Grafik, Dateien, XML, JSON Audio, Video, Fotots Spritekit Server-side Swift ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid Die Fachpresse zur Vorauflage: Wilhelmshavener Zeitung: »Kofler schreibt verständlich und das Buch ist grafisch so aufbereitet, dass es übersichtlich und gut zu lesen ist. Erfreulich ist zudem, dass es durch seine gute Strukturierung sowohl für Anfänger als auch für Umsteiger gut verwendbar ist.«
Breite19 cm
SpracheDeutsch

Kundenbewertungen Programmiersprachen

Gesamtbewertung

0.0 von 5 Sternen