Objective-C und Cocoa - Band 1: Grundlagen

von: Amin Negm-Awad

smart books, 2012

ISBN: 9783944165929 , 752 Seiten

3. Auflage

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 31,99 EUR

Mehr zum Inhalt

Objective-C und Cocoa - Band 1: Grundlagen


 

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

689

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