Objective-C und Cocoa -  Amin Negm-Awad

Objective-C und Cocoa (eBook)

Band 1: Grundlagen
eBook Download: PDF | EPUB
2012 | 3. Auflage
752 Seiten
Smart Books (Verlag)
978-3-944165-92-9 (ISBN)
Systemvoraussetzungen
Systemvoraussetzungen
39,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Das Grundlagenbuch zur Programmierung unter Apples Mac OS X führt in die Arbeit mit Objective-C und Cocoa ein. Amin Negm-Awad hat in der aktuellen Neuauflage die jüngsten Änderungen (z.B. @-Literals, ARC, Implementation-Ivars, Ordered-Sets) eingearbeitet und geht auf Xcode 4 ein. Das Buch ist auch zu früheren OS-X-Versionen kompatibel.

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


Vorwort zur dritten Auflage

Kapitel 1     Einführung

1.1       Die Sprache und das Framework

1.1.1    Objective- ...

Nachrichten

Objekte

Klassen und Klassenobjekte

Ableitung und Vererbung

Überschreiben und Polymorphie

Erweiterung oder Spezialisierung

Delegieren: alternative Spezialisierungen

1.1.2    ... C ...

1.1.3    ... und Cocoa

Cocoa als Library

Cocoa als Umgebung

1.2       Xcode Developer-Tools

1.2.1    Installation der Developer-Tools

1.2.2    Xcode Integrated Developer Envirement

1.2.3    Compiler, Linker und Build

1.2.4    Debugger

1.3       Zusammenfassung und Ausblick

Kapitel 2     Umrechner – Die erste Applikation

2.1       Xcode und das Projekt

2.1.1    Projekt anlegen

2.1.2    Die Bereiche des Projektfensters

2.1.3    Die Symbolleiste

2.1.4    Die Navigatoren

Der Projektnavigator

Symbolnavigator

Search-Navigator

Sonstige

2.2       Xib-Editor: das User-Interface

2.2.1    Die Objektliste

Placeholder

Objects

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

Outlet graphisch erzeugen

Outlet selbst programmieren

Letztes Textfeld

Outlets kontrollieren

2.3.5    Action-Target: Verbindungen vom User-Interface

Manuell: Action schreiben und Target setzen

Automatisch Methode erzeugen lassen und setzen

Action kontrollieren

2.3.6    Konsole

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

Vollständige Dokumentation

Kurzdokumentation

2.4.4    Fehleranzeige

2.4.5    Lesen — Denken – Schreiben

2.5       Der Debugger

2.5.1    Breakpoints

2.5.2    Angezeigte Informationen

Editor

Debugger

Navigationsleiste

2.5.3    Durchlaufen

2.6       Das letzte Drittel: Das Model

2.6.1    Amin’s next top model: äußere Ansichten ...

2.6.2    ... und innere Werte

Modelbeschreibung und -editor

2.6.3    Verbindungen schaffen

2.7       Zusammenfassung und Ausblick

Kapitel 3     Objective-C

3.1       Kleinkram

3.1.1    Typen

Einfache Datentypen

Strukturen

C-Arrays

Zeiger

Objektvariablen

3.1.2    Objektarten

Klassen- und Instanzobjekte

Entitäten und Container

Swinger-Club für Objekte — Attribute und Beziehungen

3.1.3    Mathematische Operationen

3.1.4    Kontrollstrukturen

Verzweigungen

Schleifen

Bedingungen

3.1.5    Ausführungseinheiten

Blöcke

Funktionen

Methoden

Closures (Objective-C-Blocks)

Konzept

Syntax im Einzelnen

Praktische Anwendung in Cocoa

3.2       Klasse

3.2.1    Interface (Beschreibung)

Die Klasse und ihre Basisklasse

Instanzvariablen

Eigenschaften (Declared-Propertys)

Methodenliste

3.2.2    Class-Continuation

Möglichkeiten

Zweck

3.2.3    Implementierung (Funktionalität)

Eigenschaften

Weitere Methoden

3.2.4    Verwendung

Erzeugung einer Instanz

Benutzen der Instanz

3.2.5    Instanzvariablen

3.2.6    copy und strong (und weak)

3.3       Eine Subklasse als Spezialisierung

3.4       Eine Subklasse als Erweiterung

3.5       Kategorien

3.5.1    Erweiterung

3.5.2    Strukturierung

3.5.3    Kapselung

3.5.4    Informelle Protokolle

3.6       Protokolle

3.6.1    Definition

3.6.2    Übernahme in Klassen

3.6.3    Verwendung

Required-Methoden

Optional-Methoden

Protokolltypisierung

Protokollabfrage

3.7       Zusammenfassung

Kapitel 4     Foundation

4.1       Objekterzeugung

4.1.1    Allokation

4.1.2    Initialisierung

Designated-Initializer

Secondary-Initializer

Ererbte Initialisierer

Zusammenfassung

Initialisierung von Klassenobjekten

4.1.3    Convenience-Allocators und +new...

4.1.4    Kopien: Objektorientiertes Plagiieren

Kopien, Identität, Dasselbe, Das Gleiche

Implementierung

Convenience-Copy

Gleichheit

4.1.5    Zusammenfassung

4.2       Speicherverwaltung

4.2.1    Das Konzept anhand von Automatic Reference Counting

Vernetztes Denken

Anker

Löschwelle

Weak – Zyklen und der Softie unter den Settern

Autorelease-Pools und die Rückgabe von Objekten

Zusammenfassung

4.2.2    Manuelle Speicherverwaltung

Grundregel

Lokale Variablen

Accessoren und...

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?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
PDFPDF (Wasserzeichen)
Größe: 20,6 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schrä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.

EPUBEPUB (Wasserzeichen)
Größe: 33,0 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­gerä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.

Mehr entdecken
aus dem Bereich
A practical guide to implementing, managing, and optimizing macOS Big …

von Nava Herta Nava

eBook Download (2021)
Packt Publishing (Verlag)
34,79