Amin Negm-Awad arbeitet als Rechtsanwalt und Dozent für IT- und Medienrecht. Darüber hinaus ist er als Dozent und Consultant für Softwareentwicklung mit Objective-C tätig. Früher entwickelte er Hard- und Software im Bereich der Embedded Controller, seine Begeisterung für den Mac begann mit Mac OS X 10.1.
Amin Negm-Awad arbeitet als Rechtsanwalt und Dozent für IT- und Medienrecht. Darüber hinaus ist er als Dozent und Consultant für Softwareentwicklung mit Objective-C tätig. Früher entwickelte er Hard- und Software im Bereich der Embedded Controller, seine Begeisterung für den Mac begann mit Mac OS X 10.1.
Vorwort zur dritten Auflage 5
Übersicht 9
Inhaltsverzeichnis 10
1 Einführung 19
Die Sprache und das Framework 20
Objective- … 20
Nachrichten 22
Objekte 22
Klassen und Klassenobjekte 24
Ableitung und Vererbung 28
Überschreiben und Polymorphie 29
Erweiterung oder Spezialisierung 31
Delegieren: alternative Spezialisierungen 33
… C … 34
… und Cocoa 36
Cocoa als Library 37
Cocoa als Umgebung 37
Xcode Developer-Tools 38
Installation der Developer-Tools 38
Xcode Integrated Developer Envirement 38
Compiler, Linker und Build 39
Debugger 45
Zusammenfassung und Ausblick 45
2 Umrechner – Die erste Applikation 47
Xcode und das Projekt 48
Projekt anlegen 49
Die Bereiche des Projektfensters 52
Die Symbolleiste 53
Die Navigatoren 55
Der Projektnavigator 55
Symbolnavigator 59
Search-Navigator 60
Sonstige 61
Xib-Editor: das User-Interface 61
Die Objektliste 62
Placeholder 63
Objects 64
Die Library im Interface Builder 65
Der Inspector für die Einstellungen 68
Outlets, Actions und Targets 71
Der Button als Anfang allen Übels 71
Die Klasse Controller, … 73
… und das Instanzobjekt 77
Outlets: Verbindungen zum User-Interface 79
Outlet graphisch erzeugen 81
Outlet selbst programmieren 84
Letztes Textfeld 88
Outlets kontrollieren 88
Action-Target: Verbindungen vom User-Interface 89
Manuell: Action schreiben und Target setzen 89
Automatisch Methode erzeugen lassen und setzen 92
Action kontrollieren 93
Konsole 93
Source-Editor: erste Schritte des Programmierens 95
Nachrichten – Wir beginnen zu sprechen 95
Variablen und Returnwerte – Fragen und Antworten 97
Dokumentation und Quick-Help 99
Vollständige Dokumentation 99
Kurzdokumentation 101
Fehleranzeige 103
Lesen – Denken – Schreiben 104
Der Debugger 106
Breakpoints 106
Angezeigte Informationen 107
Editor 107
Debugger 108
Navigationsleiste 109
Durchlaufen 110
Das letzte Drittel: Das Model 111
Amin’s next top model: äußere Ansichten … 111
… und innere Werte 118
Modelbeschreibung und -editor 119
Verbindungen schaffen 122
Zusammenfassung und Ausblick 137
3 Objective-C 139
Kleinkram 143
Typen 143
Einfache Datentypen 144
Strukturen 145
C-Arrays 150
Zeiger 151
Objektvariablen 155
Objektarten 161
Klassen- und Instanzobjekte 161
Entitäten und Container 162
Swinger-Club für Objekte – Attribute und Beziehungen 162
Mathematische Operationen 165
Kontrollstrukturen 167
Verzweigungen 168
Schleifen 171
Bedingungen 176
Ausführungseinheiten 179
Blöcke 179
Funktionen 180
Methoden 184
Closures (Objective-C-Blocks) 188
Konzept 188
Syntax im Einzelnen 193
Praktische Anwendung in Cocoa 196
Klasse 196
Interface (Beschreibung) 197
Die Klasse und ihre Basisklasse 198
Instanzvariablen 200
Eigenschaften (Declared-Propertys) 200
Methodenliste 205
Class-Continuation 206
Möglichkeiten 207
Zweck 207
Implementierung (Funktionalität) 209
Eigenschaften 210
Weitere Methoden 211
Verwendung 212
Erzeugung einer Instanz 212
Benutzen der Instanz 214
Instanzvariablen 215
copy und strong (und weak) 217
Eine Subklasse als Spezialisierung 223
Eine Subklasse als Erweiterung 227
Kategorien 233
Erweiterung 234
Strukturierung 237
Kapselung 238
Informelle Protokolle 238
Protokolle 238
Definition 239
Übernahme in Klassen 240
Verwendung 242
Required-Methoden 242
Optional-Methoden 242
Protokolltypisierung 244
Protokollabfrage 246
Zusammenfassung 247
4 Foundation 249
Objekterzeugung 250
Allokation 250
Initialisierung 251
Designated-Initializer 251
Secondary-Initializer 256
Ererbte Initialisierer 257
Zusammenfassung 262
Initialisierung von Klassenobjekten 262
Convenience-Allocators und +new… 263
Kopien: Objektorientiertes Plagiieren 269
Kopien, Identität, Dasselbe, Das Gleiche 269
Implementierung 272
Convenience-Copy 279
Gleichheit 279
Zusammenfassung 281
Speicherverwaltung 281
Das Konzept anhand von Automatic Reference Counting 282
Vernetztes Denken 283
Anker 288
Löschwelle 294
Weak – Zyklen und der Softie unter den Settern 295
Autorelease-Pools und die Rückgabe von Objekten 305
Zusammenfassung 318
Manuelle Speicherverwaltung 319
Grundregel 319
Lokale Variablen 319
Accessoren und Instanzvariablen 323
Rückgabe 325
Objektvernichtung 327
Zusammenfassung 327
Automatische vs. Manuelle Speicherverwaltung 327
Container 328
Arten von Containern 329
Skalare Container 331
Formatter 333
Werte 335
Zahlen 336
Dezimalbrüche 337
Zeichenketten 343
Date und Calendar 349
Binäre Daten 350
Collections 350
Elemente und Speicherverwaltung 351
Erzeugung 354
Keine Collection, leere Collection und leeres Element 355
Abzählung 356
Sets 359
Counted-Sets 360
Ordered-Sets 361
Arrays 361
NSDictionary 363
Property Lists 365
Struktur 366
Umwandlung von Entitäten in Property-Lists 367
XML-Property-Lists 368
Zusammenfassung 369
5 Die Viewschicht 371
Grundlagen 372
Responder als Basisklasse 372
Fenster 374
Views 374
Die Aufgabenteilung zwischen Fenstern und Views 374
Views und Cells 380
Nib-Files 384
Menüs 387
Fenster 389
Wichtige Eigenschaften 390
Delegate 393
Sheets 396
Synchrone Alerts 397
Asynchrone Alerts 398
Synchrone, applikationsmodale Fenster 400
Asynchrone, fensterlokale Sheets 404
Drawers 407
Toolbars 408
Toolbar-Struktur 408
Eigene Toolbar erstellen 411
Views und Controls 416
Wichtige Eigenschaften 416
Autolayout 419
Constraints 421
Ungleichungssystem 423
Nutzung aus dem Code 425
Buttons 426
Aktionsbuttons 427
Umschaltbuttons 427
Imageviews 429
Boxen 430
Tabviews 430
Splitviews 433
Progressindicator 434
Textfelder 439
Pop-up-Buttons 440
Scrollviews 442
Tableviews 444
Struktur 444
Content-Mode 445
Data-Source 447
Sourceview 447
Selection 449
Outlineviews 449
Weitere Views und Eigenschaften 449
Animation 450
Zusammenfassung 453
6 Die Controllerschicht 455
Bindings-Controller, KVC, KVV und KVO 456
Grundlagen 456
Key und Key-Path 456
Key-Value-Coding 458
Key-Value-Validation 458
Key-Value-Observation 458
Cocoa-Bindings (Key-Value-Bindings) 459
Key-Value-Coding 460
Funktionsweise 461
Einfache Accessoren (Getter und Setter) 463
Ungeordnete To-many-Relationships (Sets) 465
Geordnete To-many-Relationships (Arrays, Ordered-Sets) 471
Zusammenfassung: 472
Fehlermethoden 472
Key-Value-Validation 473
Key-Value-Observing 474
Bindings 476
Bindbare Eigenschaften 476
Bindings-Optionen 479
Value-Transformer 480
Der Arraycontroller 481
Einstellungen im Attributes-Inspector 481
Observierbare Eigenschaften 483
Der Tree-Controller 486
Der Dictionary-Controller 487
Der Defaults-Controller und Voreinstellungen 489
Defaultssystem 489
Registrationdefaults und Application-Delegate 491
Komplexe Bindings 497
Bindingsketten 497
Selektions-Bindings 503
Windowcontroller und Viewcontroller 508
Aufgabe und Stellung 508
Fenstertyp 511
Dokumentenwindowcontroller 513
Der eigene Windowcontroller 513
Document-Bindings 515
Outlets 517
Actions und First Responder 517
Infowindowcontroller 520
Inspector-Windowcontroller 529
Erstellen 530
Synchronisation 533
Viewcontroller 538
Notifications 539
Lokale Notifications 540
Notification definieren 541
Notification auslösen 543
Notification fangen 544
Als Observer anmelden 545
Notifications und Delegating 547
Distributed-Notifications 548
Data-Sources 550
Bindings einreißen und Data-Source vorbereiten 550
Die Urgründe 552
Manuelle Synchronisation der Auswahl 557
Personen zum Outlineview hinzufügen 560
Gruppen und ihre Elemente 563
Ansichten tauschen 565
Manuelle Synchronisation der Attribute 577
Key-Loop 578
Drag-and-drop-Controller, Pasteboards 579
Dragging 580
Dropping 582
Zusammenfassung 586
7 Die Modelschicht 587
Grundlagen 588
Inhalt 588
Informationen 588
Fähigkeiten 590
Modellierung 591
Problemstellung 591
Modellierungsregeln 593
Dokumente eigener Klassen 599
Modellimplementierung 600
Anbindung 601
Laden und Speichern 602
Methodensatz 603
Serialisierung mit Codern 603
Serialisieren 605
Deserialisierung 612
Handwerksregeln 613
Undo 614
Undo-Manager 614
Undo-Stack 615
Undo implementieren 619
Undo deaktivieren 624
Handwerksregeln 625
Core Data 625
Grundlagen 626
Aufgabe von Core Data 626
Was ist Core Data? 626
Aufbau 629
Modelbeschreibung 632
Entitätsbeschreibung 633
Eigenschaftsbeschreibungen 634
Klassen und Entitäten 641
Instanzverwaltung 642
Objekt-ID 642
Instanzerzeugung 643
Speicherverwaltung 645
Instanzvernichtung 645
Abweichungen zwischen Store und Kontext 647
Anpassung 647
Accessoren 648
Klasseneigenschaften 653
Eigene Attributtypen 656
Fetch-Requests 660
Prädikate 663
Eigenschaft (Key) 664
Wert 664
Operator 665
To-many-Beziehungen und Aggregate 666
Prädikaterzeugung 667
Sortierung 668
Möglichkeiten der Sortierung 668
Sort-Deskriptoren 668
Reihenfolgeeigenschaft im Model 669
Reihenfolgeeigenschaft per Drag-and-Drop und die Objekt-ID 675
Applikationsmodelle 683
Zugriff 683
Ohne Core-Data-Support 683
Im Code 684
Im Nib 685
Mit Core-Data-Support 685
Undo-Management 685
Laden und Speichern 686
Versions und Autosave 687
Zusammenfassung 687
8 Xcode & Co
Workspace, Projekt und Target 690
Übersicht 690
Workspaces 690
Workspace erzeugen 691
Projekte erzeugen 691
Mit Workspace arbeiten 692
Projekt 695
Target 695
Schemes 696
Configurations 697
Projektdateien 697
Datei hinzufügen 697
Dateien finden 700
Target 701
Summary 702
Info 703
Build-Settings 706
Build-Phasen 707
Lokalisierung 709
Ressourcen und Lokalisierung 710
Lokalisierte Dateien 710
Auswahl der Lokalisierung 711
Lokalisierung hinzufügen 711
Lokalisierung im Code 715
Das »Über«-Fenster 717
Texteditor und Code-Generierung 718
Texteditor und Preferences 718
Textvervollständigung 718
Code-Folding 719
Navigation 720
Kodierung 720
Bezeichnernutzung 721
Einrückung 721
Key Bindings 721
Code-Generierung 721
Core-Data 722
Interface Builder 722
Refaktorierung 722
Umbenennen 722
Auslagern 723
Klassenhierarchie 724
Konvertierung zu ARC 725
Codeanalyse 725
Die erste eigene Applikation 726
Leistungsumfang 726
Arbeitsabläufe 727
User-Interface 727
Model 727
Controller aufbauen 728
Testen und Fehlersuche 728
Anwendung publizieren 728
Archive-Build 729
Archive 729
Zusammenfassung 729
Index 731
Inhaltsverzeichnis
1.1 Die Sprache und das Framework
Erweiterung oder Spezialisierung
Delegieren: alternative Spezialisierungen
1.2.1 Installation der Developer-Tools
1.2.2 Xcode Integrated Developer Envirement
1.2.3 Compiler, Linker und Build
1.3 Zusammenfassung und Ausblick
Kapitel 2 Umrechner – Die erste Applikation
2.1.2 Die Bereiche des Projektfensters
2.2 Xib-Editor: das User-Interface
2.2.2 Die Library im Interface Builder
2.2.3 Der Inspector für die Einstellungen
2.3 Outlets, Actions und Targets
2.3.1 Der Button als Anfang allen Übels
2.3.2 Die Klasse Controller, ...
2.3.3 ... und das Instanzobjekt
2.3.4 Outlets: Verbindungen zum User-Interface
2.3.5 Action-Target: Verbindungen vom User-Interface
Manuell: Action schreiben und Target setzen
Automatisch Methode erzeugen lassen und setzen
2.4 Source-Editor: erste Schritte des Programmierens
2.4.1 Nachrichten – Wir beginnen zu sprechen
2.4.2 Variablen und Returnwerte – Fragen und Antworten
2.4.3 Dokumentation und Quick-Help
2.4.5 Lesen — Denken – Schreiben
2.5.2 Angezeigte Informationen
2.6 Das letzte Drittel: Das Model
2.6.1 Amin’s next top model: äußere Ansichten ...
2.7 Zusammenfassung und Ausblick
Swinger-Club für Objekte — Attribute und Beziehungen
3.1.3 Mathematische Operationen
3.2.1 Interface (Beschreibung)
Die Klasse und ihre Basisklasse
Eigenschaften (Declared-Propertys)
3.2.3 Implementierung (Funktionalität)
3.2.6 copy und strong (und weak)
3.3 Eine Subklasse als Spezialisierung
3.4 Eine Subklasse als Erweiterung
Initialisierung von Klassenobjekten
4.1.3 Convenience-Allocators und +new...
4.1.4 Kopien: Objektorientiertes Plagiieren
Kopien, Identität, Dasselbe, Das Gleiche
4.2.1 Das Konzept anhand von Automatic Reference Counting
Weak – Zyklen und der Softie unter den Settern
Autorelease-Pools und die Rückgabe von Objekten
Erscheint lt. Verlag | 22.11.2012 |
---|---|
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Informatik ► Betriebssysteme / Server ► Macintosh / Mac OS X |
Informatik ► Programmiersprachen / -werkzeuge ► Mac / Cocoa Programmierung | |
Schlagworte | Applikationsentwicklung • CoCoA • Einstieg • Objective-C • Objective-C; Cocoa; Einstieg; Applikationsentwicklung |
ISBN-10 | 3-944165-92-6 / 3944165926 |
ISBN-13 | 978-3-944165-92-9 / 9783944165929 |
Haben Sie eine Frage zum Produkt? |
Größe: 20,6 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
Größe: 33,0 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich