Cantitate/Preț
Produs

Swift 3

Autor Michael Kofler
de Limba Germană Hardback – dec 2016

Der 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
  • ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid
Galileo Press heißt jetzt Rheinwerk Verlag.

Die Fachpresse zur Vorauflage:

iX - Magazin für professionelle Informationstechnik: »Es hält was es verspricht!«

SCREENGUIDE: »Ein praxisnaher Einstieg.«


Citește tot Restrânge

Preț: 34661 lei

Preț vechi: 43326 lei
-20%

Puncte Express: 520

Preț estimativ în valută:
6641 7193$ 5695£

Carte indisponibilă temporar

Doresc să fiu notificat când acest titlu va fi disponibil:

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9783836241274
ISBN-10: 3836241277
Pagini: 1174
Dimensiuni: 184 x 248 x 65 mm
Greutate: 2 kg
Ediția:Mărită
Editura: Rheinwerk Verlag GmbH

Cuprins

Vorwort ... 15 TEIL I Swift ... 21 1. Hello World! ... 23 1.1 ... »Hello World« im Playground ... 23 1.2 ... »Hello World« als Terminal-App ... 32 1.3 ... »Hello World!« auf dem iPad ... 40 2. Swift-Crashkurs ... 43 2.1 ... Elementare Syntaxregeln und Kommentare ... 43 2.2 ... Variablen, Konstanten und Datentypen ... 47 2.3 ... Strukturierung des Codes ... 51 2.4 ... Klassen und Datenstrukturen ... 56 2.5 ... Fehlerabsicherung ... 58 2.6 ... Xcode-Crashkurs ... 59 3. Operatoren ... 71 3.1 ... Zuweisungs- und Rechenoperatoren ... 71 3.2 ... Vergleichsoperatoren und logische Operatoren ... 76 3.3 ... Range-Operatoren ... 81 3.4 ... Operatoren für Fortgeschrittene ... 82 3.5 ... Eigene Operatoren ... 86 4. Variablen und Optionals ... 91 4.1 ... Variablen und Konstanten ... 91 4.2 ... Optionals ... 98 4.3 ... Wert- versus Referenztypen ... 103 5. Verzweigungen und Schleifen ... 107 5.1 ... Verzweigungen mit if ... 107 5.2 ... Inverse Logik mit guard ... 111 5.3 ... Verzweigungen mit switch ... 112 5.4 ... Versions- oder plattformabhängiger Code ... 116 5.5 ... Schleifen ... 117 5.6 ... Nicht triviale Schleifen ... 122 6. Funktionen und Closures ... 129 6.1 ... Funktionen definieren und ausführen ... 129 6.2 ... Parameter ... 140 6.3 ... Standardfunktionen ... 147 6.4 ... Funktionale Programmierung ... 151 6.5 ... Closures ... 156 7. Zahlen und geometrische Strukturen ... 167 7.1 ... Zahlen und boolesche Werte ... 168 7.2 ... NSNumber ... 172 7.3 ... CGFloat, CGPoint, CGSize und Co. ... 173 8. Zeichenketten ... 181 8.1 ... Syntax ... 181 8.2 ... Bearbeitung von Zeichenketten ... 185 8.3 ... Suchen und ersetzen ... 189 8.4 ... Zeichenketten zerlegen und zusammensetzen ... 192 8.5 ... Zeichenketten und Zahlen umwandeln ... 198 9. Datum und Uhrzeit ... 203 9.1 ... Datum und Uhrzeit ermitteln und darstellen ... 203 9.2 ... Rechnen mit Datum und Uhrzeit ... 205 10. Arrays, Dictionaries, Sets und Tupel ... 207 10.1 ... Arrays ... 207 10.2 ... Arrays und Aufzählungen verarbeiten ... 216 10.3 ... Dictionaries ... 225 10.4 ... Sets ... 226 10.5 ... Option-Sets ... 227 10.6 ... Tupel ... 229 10.7 ... Lottosimulator ... 231 11. Objektorientierte Programmierung I ... 237 11.1 ... Klassen und Strukturen ... 238 11.2 ... Enumerationen ... 247 11.3 ... Eigenschaften ... 251 11.4 ... Init- und Deinit-Funktion ... 263 11.5 ... Methoden ... 268 11.6 ... Subscripts ... 276 11.7 ... Typ-Aliasse ... 278 11.8 ... Speicherverwaltung ... 279 12. Objektorientierte Programmierung II ... 285 12.1 ... Vererbung ... 285 12.2 ... Generics ... 297 12.3 ... Protokolle ... 301 12.4 ... Standardprotokolle ... 310 12.5 ... Extensions ... 318 12.6 ... Protokollerweiterungen ... 323 12.7 ... Reflection und Metatypen ... 328 13. Fehlerabsicherung ... 333 13.1 ... Fehlerabsicherung mit try und catch ... 333 13.2 ... Selbst Fehler auslösen (throws und throw) ... 342 13.3 ... Fehler in Funktionen weitergeben (rethrows) ... 346 13.4 ... Das Error-Protokoll ... 350 13.5 ... Fehlerabsicherung von API-Methoden (NSError) ... 351 14. Importe, Attribute und Systemfunktionen ... 355 14.1 ... Module, Frameworks und Importe ... 355 14.2 ... Attribute ... 359 14.3 ... Systemfunktionen aufrufen ... 361 TEIL II App-Programmierung ... 367 15. Hello iOS-World! ... 369 15.1 ... Projektstart ... 370 15.2 ... Gestaltung der App ... 371 15.3 ... Steuerung der App durch Code ... 376 15.4 ... Actions und Outlets für Fortgeschrittene ... 381 15.5 ... Layout optimieren ... 383 15.6 ... Textgröße mit einem Slider einstellen ... 390 15.7 ... Apps auf dem eigenen iPhone/iPad ausführen ... 392 15.8 ... Komponenten und Dateien eines Xcode-Projekts ... 394 16. iOS-Grundlagen ... 397 16.1 ... Model-View-Controller (MVC) ... 397 16.2 ... Klassenhierarchie einer App-Ansicht ... 402 16.3 ... Die UIViewController-Klasse ... 405 16.4 ... Phasen einer iOS-App ... 409 16.5 ... Auto Layout ... 412 16.6 ... Steuerelemente in einer Stack-View anordnen ... 429 16.7 ... Texteingaben ... 432 16.8 ... Image-Views und Xcassets ... 441 17. iOS-Apps mit mehreren Ansichten ... 445 17.1 ... Storyboard und Controller-Klassen verbinden ... 445 17.2 ... Ansichten durch Segues verbinden ... 446 17.3 ... Segues mit Datenübertragung ... 451 17.4 ... Navigation-Controller ... 456 17.5 ... Tab-Bar-Controller ... 461 17.6 ... Split-View-Controller ... 468 17.7 ... Popups ... 478 17.8 ... Ja-Nein-Dialoge (UIAlertController) ... 489 18. Hello macOS-World! ... 493 18.1 ... Von iOS zu macOS ... 493 18.2 ... Lottozahlengenerator (Storyboard-Variante) ... 496 18.3 ... Lottozahlengenerator (XIB/AppDelegate-Variante) ... 505 18.4 ... Lottozahlengenerator (XIB/WindowController-Variante) ... 511 18.5 ... Lottozahlengenerator (XIB/ViewController-Variante) ... 515 19. macOS-Grundlagen ... 519 19.1 ... Programme mit mehreren Fenstern ... 519 19.2 ... Tab-View-Controller ... 527 19.3 ... Standarddialoge ... 535 19.4 ... Maus ... 539 19.5 ... Tastatur ... 547 19.6 ... Menüs ... 553 19.7 ... Programme ohne Menü ... 561 19.8 ... Drag&Drop ... 564 20. tvOS ... 579 20.1 ... Hello tvOS! ... 580 20.2 ... Fernbedienung auswerten ... 586 20.3 ... Focus Engine ... 592 TEIL III Programmier- und Arbeitstechniken ... 601 21. Dateien und User-Defaults ... 603 21.1 ... User-Defaults ... 603 21.2 ... Dateinamen und URLs ... 608 21.3 ... Bundle-Dateien und Xcassets-Bilder ... 610 21.4 ... Standardverzeichnisse ... 612 21.5 ... Dateioperationen ... 617 21.6 ... Wie geht's weiter? ... 625 22. Netzwerk, XML und JSON ... 627 22.1 ... Dateien per HTTP/HTTPS laden ... 627 22.2 ... XML-Dokumente auswerten ... 636 22.3 ... JSON-Dokumente auswerten ... 640 22.4 ... Webseiten anzeigen ... 644 23. Tabellen und Listen darstellen ... 651 23.1 ... Listen in iOS-Apps (UITableView) ... 651 23.2 ... Prototypzellen ... 657 23.3 ... Individuelle Gestaltung von Listenzellen ... 663 23.4 ... Veränderliche Listen ... 669 23.5 ... Tabellen in macOS-Apps (NSTableView) ... 671 23.6 ... Collections asynchron füllen (UICollectionView) ... 682 24. GPS- und Kompassfunktionen ... 691 24.1 ... Hello MapView! ... 691 24.2 ... Wegstrecke aufzeichnen ... 696 24.3 ... Kompassfunktionen ... 703 25. Grafik und Animation ... 707 25.1 ... Eigene Steuerelemente mit Grafikfunktionen ... 708 25.2 ... Kompass-Steuerelement ... 714 25.3 ... Core Graphics ... 723 25.4 ... Animationen ... 725 26. Audio, Video und Fotos ... 731 26.1 ... Audio-Wiedergabe mit dem AVAudioPlayer ... 731 26.2 ... Audio-Wiedergabe mit dem AVPlayer ... 740 26.3 ... Audio-Wiedergabe mit dem AVPlayerViewController ... 742 26.4 ... Audio-Aufnahmen mit dem AVAudioRecorder durchführen ... 744 26.5 ... Videos abspielen ... 749 26.6 ... Videos mit der Picker-View auswählen und aufnehmen ... 753 26.7 ... YouTube-Videos abspielen ... 758 26.8 ... Fotos mit der Picker-View auswählen und aufnehmen ... 761 26.9 ... Fotos in einer AVCaptureSession aufnehmen ... 763 26.10 ... Barcodes in einer AVCaptureSession erkennen ... 772 27. SpriteKit ... 777 27.1 ... Hello SpriteKit! ... 778 27.2 ... Sprites erzeugen und bewegen ... 786 27.3 ... Spielsteuerung durch Touch-Ereignisse ... 792 27.4 ... Bewegungssteuerung (Gyroskop und Accelerometer) ... 798 27.5 ... Aktionen ... 804 27.6 ... Der Game-Loop ... 811 27.7 ... Kollisionserkennung ... 813 27.8 ... Minispiel: Luftballone abschießen ... 819 27.9 ... Physik ... 826 27.10 ... Minispiel: Pyramide zerstören ... 832 27.11 ... Scene-Editor ... 838 27.12 ... Partikel-Emitter ... 845 28. Asynchrone Programmierung ... 849 28.1 ... Hello Grand Central Dispatch! ... 850 28.2 ... GCD-Grundlagen ... 853 28.3 ... Parallel rechnen ... 858 28.4 ... Die Async-Bibliothek ... 865 29. App Store und Co. ... 867 29.1 ... iOS-Artwork (Icons, Launch Screen) ... 868 29.2 ... macOS-Artwork (Icon) ... 869 29.3 ... tvOS-Artwork (Parallax-Icons, Launch und Top Shelf Image) ... 870 29.4 ... Mehrsprachige Apps ... 877 29.5 ... Eigene Apps im App Store anbieten ... 886 29.6 ... macOS-Programme selbst weitergeben ... 895 30. Xcode-Arbeitstechniken ... 901 30.1 ... Simulator-Ausgaben stoppen ... 901 30.2 ... Header-Code einer eigenen Klasse erzeugen ... 902 30.3 ... Versionsverwaltung mit Git ... 903 30.4 ... Crashlogs ... 906 30.5 ... Projekte umbenennen ... 906 30.6 ... Xcode-Verzeichnisse aufräumen ... 907 TEIL IV Beispielprojekte ... 911 31. New-York-Times-Bestseller ... 913 31.1 ... New-York-Times-API ... 915 31.2 ... Benutzeroberfläche ... 918 31.3 ... Split-View-Variante ... 924 32. To-do-Listen ... 929 32.1 ... Gestaltung der Benutzeroberfläche ... 930 32.2 ... Datenmodell ... 931 32.3 ... View-Controller-Klasse ... 932 32.4 ... Popup-View-Controller-Klasse ... 939 33. Schatzsuche ... 941 33.1 ... Aufbau der App ... 941 33.2 ... Datenmodell ... 946 33.3 ... Location Manager selbst gemacht ... 948 33.4 ... Steuerelement zur Richtungsanzeige (UIBezierPath) ... 953 33.5 ... Hauptansicht mit Listenfeld ... 954 33.6 ... Popup-Dialog zum Speichern ... 959 33.7 ... Detailansicht mit Richtungspfeil ... 960 34. Währungskalkulator ... 969 34.1 ... App-Überblick ... 969 34.2 ... Kurse ermitteln ... 977 34.3 ... Das Datenmodell der App ... 980 34.4 ... Umrechnungsansicht ... 983 34.5 ... Einstellungsansicht ... 990 34.6 ... Internationalisierung und Lokalisierung ... 995 35. Fünf Gewinnt ... 997 35.1 ... Die App »Fünf Gewinnt« ... 997 35.2 ... Enumerationen und globale Funktionen (Globals.swift) ... 1000 35.3 ... Die Spiellogik (FiveWins.swift) ... 1004 35.4 ... Darstellung des Spielbretts und der Steine (BoardView.swift) ... 1015 35.5 ... Steuerung des Spielablaufs (ViewController.swift) ... 1025 35.6 ... Der Popup-Dialog (PopupVC.swift) ... 1031 35.7 ... Erweiterungsmöglichkeiten ... 1033 36. Icon-Resizer ... 1037 36.1 ... App-Überblick ... 1037 36.2 ... Icons verwalten (IconSize-Struktur) ... 1042 36.3 ... Hauptfenster (ViewController.swift) ... 1049 36.4 ... Drag&Drop-Quelle für Icons (IconCellView.swift) ... 1057 36.5 ... Drag&Drop-Empfänger für Icons (OriginalIconView.swift) ... 1058 36.6 ... Popup-Menü (IconChoiceVC.swift) ... 1061 36.7 ... Temporäres Verzeichnis erstellen und löschen ... 1062 37. Breakout ... 1065 37.1 ... Programmaufbau ... 1066 37.2 ... Initialisierung ... 1067 37.3 ... Spielsteuerung ... 1073 38. Pac-Man selbst gemacht ... 1077 38.1 ... Programmaufbau ... 1078 38.2 ... Der Tile-Editor »Tiled« ... 1080 38.3 ... Globale Konstanten, Datenstrukturen und Enumerationen ... 1085 38.4 ... Initialisierung des Spiels ... 1087 38.5 ... Die Maze-Klasse ... 1090 38.6 ... Aufbau der Spielszene (setup-Methoden) ... 1094 38.7 ... Spielsteuerung (touch-Methoden) ... 1101 38.8 ... Bewegung des Pac-Mans ... 1106 38.9 ... Steuerung der Monster ... 1110 38.10 ... Kollisionen ... 1116 38.11 ... Apple-TV-Variante von Pac-Man ... 1120 38.12 ... Pac-Man-Figuren zeichnen ... 1124 39. Asteroids ... 1127 39.1 ... Programmaufbau ... 1128 39.2 ... Globale Konstanten und Funktionen ... 1130 39.3 ... Programmstart und Tastaturereignisse (GameViewController) ... 1130 39.4 ... Initialisierung des Spiels (GameScene) ... 1134 39.5 ... Spielablauf (ebenfalls in GameScene) ... 1140 39.6 ... Fokussierbare Menütexte (MyLabel) ... 1146 39.7 ... Der Einstellungsdialog (MainScene) ... 1147 Index ... 1153

Notă biografică

Dr. Michael Kofler studierte Telematik an der TU Graz. Er zählt zu den erfolgreichsten und vielseitigsten Computerbuchautoren im deutschen Sprachraum. Zu seinen Themengebieten zählen neben Linux auch OS X, MySQL, KVM, Visual Basic und Excel-VBA. Viele seiner Bücher wurden übersetzt.Michael Kofler arbeitet auch als Software-Entwickler, Berater sowie als Lehrbeauftragter an zwei Fachhochschulen.