Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
Swift 2 - Das umfassende Praxisbuch
  Großes Bild
 
Swift 2 - Das umfassende Praxisbuch
von: Michael Kofler
Rheinwerk Computing, 2015
ISBN: 9783836236539
764 Seiten, Download: 12255 KB
 
Format: EPUB, PDF
geeignet für: geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen PC, MAC, Laptop

Typ: B (paralleler Zugriff)

 

 
eBook anfordern
Inhaltsverzeichnis

  Vorwort 25  
  TEIL I Swift 27  
     1 Hello World! 29  
        1.1 »Hello World« im Playground 30  
           Voraussetzungen 30  
           Apple Developer Program 30  
           Den Playground starten 30  
           Hello World! 31  
           Grafische Darstellung von Daten 32  
           Darstellung von Objekten 33  
           Kommentare 35  
           Playgrounds mit mehreren Dateien 36  
        1.2 »Hello World« als Terminal-App 37  
           Xcode kennenlernen 37  
           Wo ist die App? 40  
           Mehr als nur »Hello World!« 41  
           Den Swift-Interpreter und -Compiler direkt aufrufen 42  
        1.3 Swift-Crashkurs 45  
           Elementare Syntaxregeln 45  
           Kommentare 46  
           Markdown-Kommentare 46  
           Variablen und Konstanten 47  
           Zahlen und Zeichenketten 47  
           Datentypen und Optionals 48  
           Tupel, Arrays und Dictionaries 50  
           Schleifen 51  
           Verzweigungen 52  
           Funktionen 52  
           Closures 54  
           Klassen und Datenstrukturen 54  
           Fehlerabsicherung 55  
        1.4 Xcode-Crashkurs 56  
           Navigator 57  
           Editor 58  
           Assistenzeditor 59  
           Maus- bzw. Trackpad-Kürzel 60  
           Tastenkürzel und Editoreinstellungen 60  
           Werkzeugleiste (Inspector und Library Pane) 61  
           Code-Snippets 61  
           Speichern 63  
           Versionsverwaltung (Git) 63  
           Vorhandenen Code für eine neue Swift-Version anpassen 66  
     2 Operatoren 69  
        2.1 Zuweisungs- und Rechenoperatoren 69  
           Einfache Zuweisung 69  
           Wert- versus Referenztypen 70  
           Elementare Rechenoperatoren 71  
           Zeichenketten aneinanderfügen 72  
           Inkrement und Dekrement 73  
           Rechnen mit Bits 73  
           Kombinierte Rechen- und Zuweisungsoperationen 74  
        2.2 Vergleichsoperatoren und logische Operatoren 74  
           Vergleichsoperatoren 74  
           == versus === 75  
           Vergleiche mit ~= 76  
           Datentyp-Vergleich (»is«) 77  
           Casting-Operator (»as«) 77  
           Logische Operatoren 78  
        2.3 Range-Operatoren 78  
           Interval-Operatoren 79  
        2.4 Operatoren für Fortgeschrittene 80  
           Ternärer Operator 80  
           Unwrapping- und Nil-Coalescing-Operator 81  
           Optional Chaining 82  
           Operator-Präferenz 82  
        2.5 Operator Overloading 83  
           Vergleichsoperator für Zeichenketten 84  
     3 Variablenverwaltung und Datentypen 85  
        3.1 Variablen und Konstanten 85  
           Deklaration von Variablen 85  
           Regeln für Variablennamen 86  
           Konstanten 87  
           Eigenschaften 88  
           Enumerationen (Enums) 89  
        3.2 Zahlen und boolesche Werte 91  
           Ganze Zahlen 91  
           Fließkommazahlen 92  
           Typumwandlungen 93  
           Zufallszahlen 93  
           Double-Zufallszahlen 94  
           Boolesche Werte 94  
        3.3 Zeichenketten 94  
           String-Eigenschaften 95  
           Syntax 96  
           Funktionen und Methoden zur Bearbeitung von Zeichenketten 98  
           Länge von Zeichenketten ermitteln 98  
           Vergleichen und sortieren 99  
           Suchen und ersetzen 100  
           Reguläre Ausdrücke 102  
           Bestandteile von Zeichenketten 104  
           split und joinWithSeparator 105  
           Zeichenketten manipulieren 106  
           Palindrom-Test 107  
           Teilzeichenketten extrahieren 108  
           Teilzeichenketten komfortabler auslesen 109  
           Zahlen formatieren 111  
           Zahlen mit dem NSNumberFormatter formatieren 112  
           Zeichenketten in Zahlen umwandeln (parsen) 113  
           Zahlen mit dem NSNumberFormatter parsen 114  
        3.4 Datum und Uhrzeit 115  
        3.5 Optionals 117  
           Optionals deklarieren 118  
           Optionals auslesen 118  
           nil-Test und if-let 119  
           Optional Chaining 120  
           Nil Coalescing 121  
        3.6 Interna der Variablenverwaltung 122  
           Wert- versus Referenztypen 122  
           Datentypen 123  
           Syntaktischer Zucker 124  
           Typen-Aliase 125  
           Datentyp ermitteln und ändern (Casting) 125  
           Reflection 126  
           Speicherverwaltung 127  
           weak und unowned 129  
           weak-Beispiel 129  
     4 Arrays, Dictionaries, Sets und Tupel 133  
        4.1 Arrays 133  
           Arrays initialisieren 134  
           Array-Elemente auslesen 135  
           Arrays manipulieren 137  
           Arrays sortieren 138  
           Interna und Geschwindigkeitsüberlegungen 139  
           Array-Elemente verarbeiten 139  
           Array-Algorithmen 141  
           Mehrdimensionale Arrays 142  
        4.2 Dictionaries 143  
           Dictionaries deklarieren und initialisieren 143  
           Zugriff auf Dictionary-Elemente 144  
        4.3 Sets 145  
        4.4 Option-Sets (OptionSetType) 146  
           Anwendungsbeispiel 147  
           Eigene Option-Sets definieren 148  
        4.5 Tupel 149  
           Anwendungen 150  
     5 Verzweigungen und Schleifen 153  
        5.1 Verzweigungen mit if 153  
           if 153  
           if-let-Kombination für Optionals 154  
           if-let-Kombination mit where 155  
           Inverse Logik mit guard 156  
           Versionsabhängige Code-Teile 158  
        5.2 Verzweigungen mit switch 158  
           switch für Tupel 160  
           case-let-Kombination mit where 161  
        5.3 Schleifen 162  
           for 162  
           for-in 163  
           while 164  
           while-let-Kombination 164  
           repeat-while 165  
           break 165  
           continue 166  
        5.4 Lottosimulator 166  
           Version 1: elegant, aber langsam 167  
           Einige Benchmarktests 169  
           Version 2: Swift zeigt, was es kann 170  
     6 Funktionen und Closures 173  
        6.1 Funktionen definieren und ausführen 173  
           Benannte Parameter 174  
           Rückgabewerte 175  
           Aufräumarbeiten automatisch ausführen (defer) 177  
           Funktionsnamen 179  
           Gültigkeitsebenen 179  
           Verschachtelte Funktionen 180  
           Rekursion 181  
        6.2 Parameter 182  
           Gewöhnliche Parameter 183  
           Veränderliche Parameter 184  
           Inout-Parameter 184  
           Benannte Parameter 185  
           Differenzierung zwischen externen und internen Parameternamen 185  
           Auch den ersten Parameter benennen 186  
           Unbenannten Parameter erzwingen 187  
           Optionale Parameter und Defaultwerte 187  
           Variable Parameteranzahl (Variadics) 189  
        6.3 Standardfunktionen 189  
           min und max 190  
           print und readline 191  
           swap 191  
           zip 192  
           Mathematische Funktionen 192  
        6.4 Standardmethoden und Standardeigenschaften 193  
           Von der globalen Funktion zur Methode 194  
           count 194  
           first und last 195  
           prefix und suffix 195  
           dropFirst und dropLast 195  
           startsWith, contains und indexOf 196  
           advancedBy und distanceTo 197  
           split und joinWithSeparator 197  
           filter, map und reduce 198  
           forEach 200  
           sort und reverse 201  
        6.5 Funktionale Programmierung 201  
           Funktionen als eigener Datentyp 202  
           Funktionen als Parameter und Rückgabeergebnisse 203  
        6.6 Closures 206  
           Syntax 206  
           Auto-Closures 209  
           RPN-Rechner 210  
           Capturing Values 211  
           Gefahr von Memory Leaks (Capture Lists) 213  
           Closure-Speicherung und -Weitergabe verhindern (@noescape) 213  
     7 Objektorientierte Programmierung I 217  
        7.1 Klassen und Strukturen 218  
           Auch Enumerationen sind Datentypen! 219  
           Glossar 219  
           Syntax 220  
           Das Schlüsselwort »self« 222  
           Zugriffsebenen und Zugriffssteuerung 222  
           Modifizierer 224  
           Verschachtelte Klassen, Strukturen und Enumerationen 224  
           Code-Dateien 225  
        7.2 Enumerationen 225  
           Datentypen und Protokolle für Enumerationen 226  
           Zuordnung von Zusatzdaten (Associated Values) 227  
           Rekursive bzw. indirekte Enumerationen 228  
        7.3 Eigenschaften 230  
           Verzögerte Initialisierung von Eigenschaften (Lazy Properties) 231  
           Eigenschaften beobachten (willSet, didSet) 232  
           Statische Eigenschaften 234  
           Computed Properties (get und set) 235  
           Temperaturumrechnung mit Computed Properties 235  
           Read-Only-Eigenschaften 236  
           Beispiel: Rectangle-Struktur 237  
           Beispiel: ChessFigure-Struktur 239  
        7.4 Init- und DeInit-Funktion 241  
           Syntax für Init-Funktionen 242  
           Parameterliste 242  
           Code-Reihenfolge in Init-Funktionen 243  
           Overloading 243  
           Designated versus Convenience Init 244  
           Init-Funktion als Optional (Failable Init Functions) 245  
           Deinit-Funktion 246  
        7.5 Methoden 246  
           Instanzmethoden 247  
           Mutating Methods 248  
           Statische Methoden 250  
           Benannte Parameter 251  
           Benannte Parameter in globalen Funktionen, Init-Funktionen und Methoden 253  
           Signaturen von Methoden 253  
        7.6 Subscripts 255  
           Beispiel: Schachbrett 256  
     8 Objektorientierte Programmierung II 259  
        8.1 Vererbung 259  
           Mehrfachvererbung 260  
           Vererbung versus Protokolle versus Extensions 260  
           Das Schlüsselwort override 261  
           Das Schlüsselwort super 263  
           Das Schlüsselwort final 264  
           Initialisierung 265  
           Das Schlüsselwort required 266  
           Redundanz in Init-Funktionen vermeiden 267  
           Generalisierung, Polymorphie und Casting 268  
        8.2 Generics 270  
           Syntax 271  
           Generics in der Swift-Standardbibliothek 271  
           Regeln für generische Typen (Type Constraints) 273  
        8.3 Protokolle 274  
           Vorhandene Protokolle implementieren 275  
           Selbst Protokolle definieren 276  
           Protokolle sind Datentypen 278  
           Beispiel 278  
           Optionale Protokollanforderungen 280  
           Generische Protokolle mit »typealias« 281  
        8.4 Standardprotokolle 283  
           CustomStringConvertible (ehemals Printable) 283  
           Hashable und Equatable 285  
           Comparable 286  
           Any und AnyObject 287  
           AnyClass 289  
           StringLiteralConvertible 289  
        8.5 Extensions 291  
           Syntax 292  
           Übersichtlicherer Code durch Extensions 294  
           Beispiel: Rechnen mit Kilo-, Mega- und Gigabyte 295  
        8.6 Protokollerweiterungen 296  
           Bedingte Protokollerweiterungen 297  
           Beispiel: Die uniqueElements-Methode 298  
           Beispiel: Die uniqueSet-Methode 300  
        8.7 Metatypen 301  
        8.8 Header-Code einer eigenen Bibliothek erzeugen 302  
     9 Fehlerabsicherung und Spezialfunktionen 305  
        9.1 Fehlerabsicherung (try/catch) 305  
           Swifts Verhalten beim Auftreten von Fehlern 305  
           try-catch-Syntax 306  
           Einführungsbeispiel 307  
           Reaktion auf Fehler mit catch 308  
           Selbst Fehler auslösen (throws und throw) 310  
           Fehler in Init-Funktionen auslösen 311  
           Fehler in Computed Properties 313  
           Das ErrorType-Protokoll 313  
           try ohne do-catch 315  
           try! und try? (Forced Try und Optional Try) 315  
           Parameterabsicherung mit guard 315  
           Aufräumarbeiten mit defer 316  
           assert 317  
        9.2 Fehlerabsicherung von API-Methoden (NSError) 318  
           Die NSError-Klasse 319  
           Die NSException-Klasse 320  
        9.3 Module, Frameworks und Importe 320  
           Selbst Frameworks erzeugen 321  
        9.4 Attribute 322  
        9.5 Systemfunktionen aufrufen 323  
  TEIL II iOS 325  
     10 Hello iOS-World! 327  
        10.1 Projektstart 328  
        10.2 Gestaltung der App 329  
           Mini-Glossar 329  
           Steuerelemente einfügen 330  
           Ein erster Test mit dem iOS-Simulator 332  
        10.3 Steuerung der App durch Code 334  
           Den Button mit einer Methode verbinden (Actions) 334  
           Zugriff auf das Textfeld über eine Eigenschaft (Outlets) 336  
           Endlich eigener Code 337  
        10.4 Actions und Outlets für Fortgeschrittene 339  
           Eine Action für mehrere Steuerelemente 339  
           Ein Outlet für mehrere Steuerelemente (Outlet Collections) 339  
           Actions oder Outlets umbenennen 339  
           Steuerelemente kopieren 341  
        10.5 Layout optimieren 341  
           Layoutregeln 341  
           Layoutregeln für den »Hello-World«-Button 342  
           Layoutregeln für das Textfeld 344  
           Wenn es Probleme gibt 345  
        10.6 Textgröße mit einem Slider einstellen 346  
           Das Slider-Steuerelement hinzufügen 346  
           Den Slider mit einer Methode verbinden 347  
        10.7 Apps auf dem eigenen iPhone/iPad ausführen 348  
           Apple Developer Program 349  
        10.8 Komponenten und Dateien eines Xcode-Projekts 350  
           Weitere Dateien 351  
           Test- und Produktgruppe 352  
     11 iOS-Grundlagen 353  
        11.1 Model-View-Controller (MVC) 353  
           Kommunikation in MVC-Apps 355  
           MVC bei Apps mit mehreren Dialogen 356  
        11.2 Klassenhierarchie einer App-Ansicht 357  
        11.3 Die UIViewController-Klasse 361  
           Lebenszyklus eines View-Controllers 361  
           Init-Funktion 362  
           viewDidLoad-Methode 363  
        11.4 Phasen einer iOS-App 365  
           Die AppDelegate-Klasse 365  
           Zugriff auf den Root-View-Controller und das AppDelegate-Objekt 367  
        11.5 Auto Layout 368  
           Grundeinstellungen 368  
           Viele Wege führen zum Ziel 369  
           Live-Vorschau in der Preview-Ansicht 370  
           Layoutregeln im Storyboard-Editor einstellen 372  
           Layoutregeln manuell einstellen 373  
           Layoutregeln aus der aktuellen Position und Größe ableiten 375  
           Regeln ändern und löschen, Steuerelemente neu positionieren 376  
           Layoutprobleme in der Document-Outline-Seitenleiste beheben 377  
           Layoutregeln im Size Inspector bearbeiten 378  
           Layoutdetails im Attributinspektor modifizieren 380  
           Layouts für verschiedene iOS-Geräteklassen (Size Classes) 380  
           Tipps und Tricks 383  
           Layoutregeln mit Code definieren 384  
        11.6 Steuerelemente in einer Stack-View anordnen 386  
           Funktionsprinzip 387  
           Beispiel 388  
           Content Compression Resistance Priority 389  
        11.7 Daten persistent speichern 390  
           User-Defaults 391  
           Umgang mit Dateien 393  
           Zugriff auf Bundle-Dateien 394  
           Beispiel 395  
        11.8 Mehrsprachige Apps 398  
           Localization versus Internationalization 398  
           Defaulteinstellungen in Xcode 399  
           Deutsch als primäre Sprache einstellen 399  
           Sprache hinzufügen 401  
           Lokalisierungsdateien exportieren 402  
           Lokalisierungsdateien bearbeiten 402  
           Übersetzte Dateien wieder importieren 404  
           Die App in verschiedenen Lokalisierungen ausprobieren 404  
           Internationalisierung im Code 404  
        11.9 iOS-Crashlogs 407  
     12 Apps mit mehreren Ansichten 409  
        12.1 Storyboard und Controller-Klassen verbinden 409  
        12.2 Ansichten durch Segues verbinden 411  
           Welcher Segue-Typ ist der richtige? 412  
           Zurück an den Start mit Unwind 413  
        12.3 Segues mit Datenübertragung 415  
           Segue-Code für »View 1« 417  
           Segue-Code für »View 2« 418  
           Segues per Code auslösen 419  
        12.4 Tastatureingaben mit Delegation verarbeiten 420  
           Beispiel 421  
        12.5 Navigation-Controller 422  
           Funktionsweise 422  
           Einstellungen 423  
           Steuerung per Code 424  
           Beispiel 425  
        12.6 Tab-Bar-Controller 426  
           Tab-Bar-Items 427  
           Kombination aus Tab-Bar- und Navigation-Controller 429  
           Programmierung 430  
        12.7 Bild-Management in Images.xcasset 432  
           Zugriff auf Images.xcasset per Code 433  
           App-Icon 434  
     13 GPS- und Kompassfunktionen 435  
        13.1 Hello MapView! 435  
           MapKit-Framework 435  
           Um Erlaubnis fragen 435  
           Info.plist-Einstellungen 437  
           Erste Tests 438  
           Kartenfunktionen im iOS-Simulator 439  
        13.2 Wegstrecke aufzeichnen 440  
           Programmaufbau und Auto Layout 440  
           Die ViewController-Klasse 441  
           Initialisierung in viewDidLoad 442  
           locationManager-Delegate 443  
           Die mapView-Methode 446  
           Erweiterungsmöglichkeiten 446  
        13.3 Kompassfunktionen 447  
           Kompasskalibrierung 448  
           Grafische Darstellung eines Kompasses 449  
        13.4 Eigene Steuerelemente mit Grafikfunktionen 449  
           Eine Klasse für ein neues Steuerelement 449  
           Grafikprogrammierung 450  
           Das Steuerelement verwenden 451  
           Eine richtige CompassView 452  
           Automatischer Redraw bei Größenänderung 455  
           Kompassnadel einstellen 456  
           Den Kompass an die Ausrichtung des Geräts anpassen 456  
           Xcode-Integration mit IBDesignable und IBInspectable 458  
     14 To-do-Listen 461  
        14.1 Popups 461  
           Hello Popup! 461  
           Popups auch auf dem iPhone 463  
           Größe des Popups einstellen 464  
           Popup-Richtung festlegen 466  
           Popups per Code anzeigen und entfernen 467  
           Unwind für Popups 469  
           dismissViewControllerAnimated-Methode 470  
        14.2 Ja-Nein-Dialoge (UIAlertController) 470  
        14.3 Listen (UITableView) 472  
           Hello UITableView! 473  
           Listenzellen mit Bild und Zusatzinformationen 478  
        14.4 Individuelle Gestaltung der Listenelemente (UITableViewCell) 481  
           Detailansicht zu Listeneinträgen 484  
        14.5 Veränderliche Listen 487  
           Die Methode reloadData 487  
           Edit-Modus 488  
           Gestaltung der Benutzeroberfläche 488  
           Beispiele 488  
        14.6 To-do-App 489  
           Auto Layout 489  
           Datenmodell 490  
           Outlets und Initialisierung 491  
           Button- und Gesture-Methoden 492  
           Popup-Dialog anzeigen 494  
           Listeneintrag hinzufügen oder ändern 495  
           DataSource-Methoden 496  
           Popup-View-Controller 498  
     15 Schatzsuche 501  
        15.1 Aufbau der App 501  
           Aufbau und Storyboard 503  
           Layout-Regeln 503  
           Funktion zur Darstellung geografischer Daten 504  
           Projekteinstellungen 505  
        15.2 Datenmodell 505  
           Basisklasse und Protokolle 506  
           description-Eigenschaft 506  
           Das Protokoll NSCoding 507  
           Array speichern und wieder einlesen (NSKeyedArchiver) 507  
        15.3 Location Manager selbst gemacht 509  
           Die Init-Funktion 509  
           Kommunikation über das Notification Center 510  
        15.4 Steuerelement zur Richtungsanzeige (UIBezierPath) 513  
        15.5 Hauptansicht mit Listenfeld 514  
           Outlets, Eigenschaften und Initialisierung 514  
           DataSource-Anbindung 515  
           Segues vom und zum Speichern-Popup, neuen Eintrag speichern 516  
           Segue vom und zum Detaildialog 518  
        15.6 Popup-Dialog zum Speichern 519  
        15.7 Detailansicht mit Richtungspfeil 520  
           Auto Layout 521  
           Initialisierung der Controller-Klasse 522  
           Abstand und Richtung zum Zielpunkt errechnen 523  
           Listeneintrag löschen bzw. ändern 524  
     16 Währungskalkulator 527  
        16.1 App-Überblick 527  
           Storyboard und Klassen 529  
           Auto Layout in der Umrechnungsansicht 529  
           Auto Layout in der Einstellungsansicht 531  
           Layout-Variante mit Stack-Views 532  
           Bildkataloge 534  
           Erweiterungsmöglichkeiten 534  
        16.2 XML-Dokumente lesen 535  
           XML-Datei herunterladen 535  
           Die SWXMLHash-Bibliothek 538  
        16.3 Das Datenmodell der App 540  
           Init-Funktion 540  
           Wechselkurse im Cache-Verzeichnis speichern 541  
           Kursumrechnung 543  
           Länderkürzel aus Währungskürzeln extrahieren 543  
        16.4 Umrechnungsansicht 543  
           Property Observer für die Währungskürzel 544  
           Initialisierung in viewDidLoad 545  
           Das CurCalc-Objekt initialisieren und das Datum der Kurse anzeigen 546  
           Ungültige Tastatureingaben vermeiden 547  
           Tap Gesture Recognizer 548  
           Währungsumrechnung bei der Texteingabe 549  
        16.5 Einstellungsansicht 550  
           Picker-Views (UIPickerView-Klasse) 550  
           Outlets, Eigenschaften und viewDidLoad 550  
           Picker-View mit Daten füllen 552  
           Auswahl eines Picker-View-Elements 554  
        16.6 Startansicht (Launch Screen) 555  
        16.7 App-Icon 556  
           App-Name 557  
        16.8 Internationalisierung und Lokalisierung 557  
        16.9 App im App Store einreichen 558  
           App-Store-Regeln 559  
           Bundle-ID (Xcode) 560  
           App-ID erzeugen (Apple Developer) 560  
           App einrichten (iTunes Connect) 561  
           App-Daten ausfüllen (iTunes Connect) 563  
           Distribution Provisioning Profile erzeugen (Apple Developer) 564  
           App-Upload (Xcode) 566  
           Warten auf das Okay von Apple 566  
     17 Fünf Gewinnt 569  
        17.1 Einfache Animationen 569  
           Hello World! 569  
           Fade-In-Effekt 571  
           Steuerelemente animiert erscheinen und verschwinden lassen 572  
        17.2 Die App »5 Gewinnt« 574  
           Hintergründe zum Spiel 576  
           Programmaufbau 576  
           Storyboard und Auto-Layout-Regeln 576  
        17.3 Enumerationen und globale Funktionen (Globals.swift) 577  
           Feld- und Spielstatus (Piece und GameStatus) 577  
           Spielbrettgrößen (BoardSize) 578  
           2D-Arrays erzeugen 579  
           Farben aufhellen bzw. abdunkeln 580  
           Rechteck rund um Mittelpunkt erzeugen 580  
           Code verzögert ausführen 581  
        17.4 Die Spiellogik (FiveWins.swift) 582  
           Spielfeld speichern 582  
           Zug ausführen und rückgängig machen 583  
           Sieg-Test 584  
           Der Spielalgorithmus 586  
           Den Wert einer Linie berechnen 588  
           Wert aller Linien berechnen 589  
           Den Wert eines Spielfelds berechnen 590  
           Den besten Zug auswählen 592  
        17.5 Darstellung des Spielbretts und der Steine (BoardView.swift) 593  
           Eigenschaften 593  
           Reset 596  
           Spielbrett zeichnen 596  
           Zug ausführen 597  
           Einen Spielstein als (animierte) View darstellen 598  
           Steine neu positionieren 600  
           Benutzereingaben feststellen und weiterleiten 601  
        17.6 Steuerung des Spielablaufs (ViewController.swift) 603  
           Ein neues Spiel starten 604  
           Warten auf den nächsten Zug 605  
           Aktualisierung des Labels und der Statusvariablen 606  
           Undo 607  
           Popup-Aufruf 607  
        17.7 Der Popup-Dialog (PopupVC.swift) 609  
           Neues Spiel starten, Zug rückgängig machen 610  
           Einstellungen ändern 610  
           Dialog schließen unter iOS 7 611  
        17.8 Erweiterungsmöglichkeiten 611  
           Spielstand automatisch speichern 611  
           Spielstärke 612  
           Animationen und Audio-Effekte 612  
           Optische Gestaltung 613  
           Geld verdienen 613  
  TEIL III OS X 615  
     18 Hello OS-X-World! 617  
        18.1 Von iOS zu OS X 617  
           Gemeinsamkeiten 617  
           Unterschiede 618  
           Window- versus View-Controller 618  
           Storyboards 619  
        18.2 Lottozahlengenerator (Storyboard-Variante) 620  
           Projekt einrichten 620  
           Gestaltung der Benutzeroberfläche 621  
           Effizient arbeiten mit Kopieren und Einfügen 622  
           Fenstergröße und Fenstertitel einstellen 623  
           viewDidLoad und representedObject 625  
           Outlets und Actions 626  
           Die Lotto-Klasse 627  
           Die View-Controller-Klasse 627  
           Programmende 629  
        18.3 Lottozahlengenerator (XIB/AppDelegate-Variante) 630  
           XIB-Dateien 630  
           Organisation des Projekts 630  
           Die AppDelegate-Klasse 631  
           Eigener Code 632  
           Programmende 634  
        18.4 Lottozahlengenerator (XIB/WindowController-Variante) 635  
           Window-Controller mit XIB-Datei 635  
           Das Fenster in der AppDelegate-Klasse anzeigen 636  
           Windows-Controller-Code 637  
           Programmende 638  
        18.5 Lottozahlengenerator (XIB/ViewController-Variante) 639  
           Das Fenster mit dem View-Controller verbinden 640  
           Controller-Code 641  
     19 OS-X-Grundlagen 643  
        19.1 Programme mit mehreren Fenstern 643  
           Segues 645  
           Datenübergabe mit der Methode prepareForSegue 646  
           Fenstergröße fixieren 648  
           Window-Eigenschaften des Ziel-Controllers einstellen 649  
           Ansichten/Fenster schließen 649  
           Segues per Code ausführen 650  
           Fenster per Code erzeugen 650  
        19.2 Tab-View-Controller 651  
           Storyboard und Tab-View-Controller-Einstellungen 653  
           Dialogblattgröße 654  
           Segues 654  
           Splitter-Steuerelement 655  
           Klassen 655  
           Application Defaults mit den User-Defaults verbinden (AppDelegate.swift) 655  
           Textgröße aus den User-Defaults lesen (ViewController.swift) 657  
           Einstellungen ändern (SettingsGeneralVC.swift) 658  
           User-Defaults-Interna 659  
        19.3 Standarddialoge 660  
           Nachrichten anzeigen und Ja/Nein-Entscheidungen treffen 661  
           Datei- und Verzeichnisauswahl 661  
           Schrift einstellen 662  
           Farbe einstellen 663  
        19.4 Maus 664  
           Mausereignisse 665  
           Koordinatensysteme, Bounds und Frames 665  
           Mausposition ergründen 666  
           Statustasten 667  
           Beispielprogramm 667  
           Die MyView-Klasse 668  
           Die drawRect-Methode 669  
           Die mouseDown-Methode 671  
        19.5 Tastatur 672  
           Die NSResponder-Klasse 673  
           Tastaturereignisse 674  
           Beispielprogramm 675  
        19.6 Menüs 678  
           Die Responder-Kette 678  
           Gestaltung der Menüleiste 680  
           Responder-Aktionen 681  
           Menüaktionen in der AppDelegate-Klasse 681  
           Menüaktionen in eigenen View-Klassen 683  
           Veränderung von Menüeinträgen per Code 684  
           Kontextmenüs 685  
        19.7 Programme ohne Menü 686  
           Menubar-Apps 687  
           Die AppDelegate-Klasse 687  
           View-Controller 689  
        19.8 Bindings 689  
           Hello Bindings! 690  
           Sonderfälle 691  
     20 Icon-Resizer 693  
        20.1 Tabellen (NSTableView) 693  
           Hello NSTableView! 694  
           Table-View mit eigenen Views 697  
           Programmaufbau und Country-Klasse 699  
           Table-View-Code 700  
           Die Tabelle mit Daten füllen 700  
           Tabelle sortieren 703  
           Auswahl einer Zeile 704  
        20.2 Drag & Drop 704  
           Drag-Operationen empfangen (NSDraggingDestination) 705  
           Drag-Operationen initiieren (NSDraggingSource) 706  
           Beispielprogramm 706  
           Projektaufbau 707  
           View-Controller 707  
           Die MyView-Klasse 708  
           Drag & Drop initiieren 710  
           Drag & Drop-Empfang zulassen 713  
           Drag & Drop-Empfang verarbeiten 716  
        20.3 Icon-Resizer 717  
           Programmaufbau 719  
           Das Split-View-Steuerelement 719  
           Layoutregeln für das Hauptfenster 720  
           Popup-Menü 721  
           Erweiterungsmöglichkeiten 722  
        20.4 Arbeiten mit Bitmaps (IconSize-Struktur) 722  
           Enumerationen 722  
           IconSize-Struktur 723  
           Initialisierung von IconSize-Arrays 723  
           Bitmaps skalieren 724  
           Bitmaps im PNG-Format speichern 727  
        20.5 Hauptfenster (ViewController.swift) 728  
           viewDidLoad mit dem Aufruf von unregisterDraggedTypes 729  
           Popup- und Speicher-Buttons, Programmende 730  
           Split-View-Delegation 732  
           Table-View-Datenquelle 732  
        20.6 Drag & Drop-Quelle für Icons (IconCellView.swift) 735  
        20.7 Drag & Drop-Empfänger für Icons (OriginalIconView.swift) 736  
           Drag & Drop einer Bilddatei empfangen 737  
           Dateiauswahldialog für die Bilddatei 738  
        20.8 Popup-Menü (IconChoiceVC.swift) 739  
        20.9 Temporäres Verzeichnis erstellen und löschen (AppDelegate.swift) 740  
           Ein eigenes temporäres Verzeichnis einstellen 741  
           Temporäres Verzeichnis löschen 742  
        20.10 OS-X-Programme weitergeben 742  
           Programme signieren und archivieren 743  
           Programme in einem DMG-Image verpacken 745  
  Index 747  


nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Inhaltsverzeichnis
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Medientyp
  eBooks
  eJournal
  alle

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Technik / Wissen
Wirtschaft

© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz