CHF48.90
Download steht sofort bereit
Michael Kofler präsentiert Ihnen auf 1300 Seiten alle Merkmale und Besonderheiten von Apples Programmiersprache. Zugleich erhalten Sie eine Einführung in die Syntax und in die objektorientierte Programmierung. Sie erfahren anhand vieler Beispiele, wie Sie Apps in iOS, macOS und tvOS entwickeln. Ideal für Umsteiger von Objective-C und Java, aber auch für Einsteiger mit Grundkenntnissen im Programmieren. Inklusive iCloud und Server-side Swift.
Aus dem Inhalt:
ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid
Autorentext
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 macOS, 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 einer Fachhochschule.
Klappentext
Der perfekte Start in Apples Programmiersprache Swift!
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:
ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid
Inhalt
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 ... Sta…