EBOOK

Objective-C und Cocoa

eBook
€ 31,99
Print-Ausgabe € 39,90
 
epub eBook
Sofort lieferbar (Download)
November 2012

Beschreibung

Beschreibung

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.

Inhaltsverzeichnis

1;Vorwort zur dritten Auflage;5 2;Übersicht;9 3;Inhaltsverzeichnis;10 4;1 Einführung;19 4.1;Die Sprache und das Framework;20 4.1.1;Objective- ;20 4.1.1.1;Nachrichten;22 4.1.1.2;Objekte;22 4.1.1.3;Klassen und Klassenobjekte;24 4.1.1.4;Ableitung und Vererbung;28 4.1.1.5;Überschreiben und Polymorphie;29 4.1.1.6;Erweiterung oder Spezialisierung;31 4.1.1.7;Delegieren: alternative Spezialisierungen;33 4.1.2; C ;34 4.1.3; und Cocoa;36 4.1.3.1;Cocoa als Library;37 4.1.3.2;Cocoa als Umgebung;37 4.2;Xcode Developer-Tools;38 4.2.1;Installation der Developer-Tools;38 4.2.2;Xcode Integrated Developer Envirement;38 4.2.3;Compiler, Linker und Build;39 4.2.4;Debugger;45 4.3;Zusammenfassung und Ausblick;45 5;2 Umrechner Die erste Applikation;47 5.1;Xcode und das Projekt;48 5.1.1;Projekt anlegen;49 5.1.2;Die Bereiche des Projektfensters;52 5.1.3;Die Symbolleiste;53 5.1.4;Die Navigatoren;55 5.1.4.1;Der Projektnavigator;55 5.1.4.2;Symbolnavigator;59 5.1.4.3;Search-Navigator;60 5.1.4.4;Sonstige;61 5.2;Xib-Editor: das User-Interface;61 5.2.1;Die Objektliste;62 5.2.1.1;Placeholder;63 5.2.1.2;Objects;64 5.2.2;Die Library im Interface Builder;65 5.2.3;Der Inspector für die Einstellungen;68 5.3;Outlets, Actions und Targets;71 5.3.1;Der Button als Anfang allen Übels;71 5.3.2;Die Klasse Controller, ;73 5.3.3; und das Instanzobjekt;77 5.3.4;Outlets: Verbindungen zum User-Interface;79 5.3.4.1;Outlet graphisch erzeugen;81 5.3.4.2;Outlet selbst programmieren;84 5.3.4.3;Letztes Textfeld;88 5.3.4.4;Outlets kontrollieren;88 5.3.5;Action-Target: Verbindungen vom User-Interface;89 5.3.5.1;Manuell: Action schreiben und Target setzen;89 5.3.5.2;Automatisch Methode erzeugen lassen und setzen;92 5.3.5.3;Action kontrollieren;93 5.3.6;Konsole;93 5.4;Source-Editor: erste Schritte des Programmierens;95 5.4.1;Nachrichten Wir beginnen zu sprechen;95 5.4.2;Variablen und Returnwerte Fragen und Antworten;97 5.4.3;Dokumentation und Quick-Help;99 5.4.3.1;Vollständige Dokumentation;99 5.4.3.2;Kurzdokumentation;101 5.4
.4;Fehleranzeige;103 5.4.5;Lesen Denken Schreiben ;104 5.5;Der Debugger;106 5.5.1;Breakpoints;106 5.5.2;Angezeigte Informationen;107 5.5.2.1;Editor;107 5.5.2.2;Debugger;108 5.5.2.3;Navigationsleiste;109 5.5.3;Durchlaufen;110 5.6;Das letzte Drittel: Das Model;111 5.6.1;Amins next top model: äußere Ansichten ;111 5.6.2; und innere Werte ;118 5.6.2.1;Modelbeschreibung und -editor;119 5.6.3;Verbindungen schaffen;122 5.7;Zusammenfassung und Ausblick;137 6;3 Objective-C;139 6.1;Kleinkram;143 6.1.1;Typen;143 6.1.1.1;Einfache Datentypen;144 6.1.1.2;Strukturen;145 6.1.1.3;C-Arrays;150 6.1.1.4;Zeiger;151 6.1.1.5;Objektvariablen;155 6.1.2;Objektarten;161 6.1.2.1;Klassen- und Instanzobjekte;161 6.1.2.2;Entitäten und Container;162 6.1.2.3;Swinger-Club für Objekte Attribute und Beziehungen;162 6.1.3;Mathematische Operationen;165 6.1.4;Kontrollstrukturen;167 6.1.4.1;Verzweigungen;168 6.1.4.2;Schleifen;171 6.1.4.3;Bedingungen;176 6.1.5;Ausführungseinheiten;179 6.1.5.1;Blöcke;179 6.1.5.2;Funktionen;180 6.1.5.3;Methoden;184 6.1.5.4;Closures (Objective-C-Blocks);188 6.1.5.5;Konzept;188 6.1.5.6;Syntax im Einzelnen;193 6.1.5.7;Praktische Anwendung in Cocoa;196 6.2;Klasse;196 6.2.1;Interface (Beschreibung);197 6.2.1.1;Die Klasse und ihre Basisklasse;198 6.2.1.2;Instanzvariablen;200 6.2.1.3;Eigenschaften (Declared-Propertys);200 6.2.1.4;Methodenliste;205 6.2.2;Class-Continuation;206 6.2.2.1;Möglichkeiten;207 6.2.2.2;Zweck;207 6.2.3;Implementierung (Funktionalität);209 6.2.3.1;Eigenschaften;210 6.2.3.2;Weitere Methoden;211 6.2.4;Verwendung;212 6.2.4.1;Erzeugung einer Instanz;212 6.2.4.2;Benutzen der Instanz;214 6.2.5;Instanzvariablen;215 6.2.6;copy und strong (und weak);217 6.3;Eine Subklasse als Spezialisierung;223 6.4;Eine Subklasse als Erweiterung;227 6.5;Kategorien;233 6.5.1;Erweiterung;234 6.5.2;Strukturierung;237 6.5.3;Kapselung;238 6.5.4;Informelle Protokolle;238 6.6;Protokolle;238 6.6.1;Definition;239 6.6.2;Übernahme in Klassen;240 6.6.3;Verwendung;242 6.6.3.1;Required-Methoden;242
6.6.3.2;Optional-Methoden;242 6.6.3.3;Protokolltypisierung;244 6.6.3.4;Protokollabfrage;246 6.7;Zusammenfassung;247 7;4 Foundation;249 7.1;Objekterzeugung;250 7.1.1;Allokation;250 7.1.2;Initialisierung;251 7.1.2.1;Designated-Initializer;251 7.1.2.2;Secondary-Initializer;256 7.1.2.3;Ererbte Initialisierer;257 7.1.2.4;Zusammenfassung;262 7.1.2.5;Initialisierung von Klassenobjekten;262 7.1.3;Convenience-Allocators und +new;263 7.1.4;Kopien: Objektorientiertes Plagiieren;269 7.1.4.1;Kopien, Identität, Dasselbe, Das Gleiche;269 7.1.4.2;Implementierung;272 7.1.4.3;Convenience-Copy;279 7.1.4.4;Gleichheit;279 7.1.5;Zusammenfassung;281 7.2;Speicherverwaltung;281 7.2.1;Das Konzept anhand von Automatic Reference Counting;282 7.2.1.1;Vernetztes Denken;283 7.2.1.2;Anker;288 7.2.1.3;Löschwelle;294 7.2.1.4;Weak Zyklen und der Softie unter den Settern;295 7.2.1.5;Autorelease-Pools und die Rückgabe von Objekten;305 7.2.1.6;Zusammenfassung;318 7.2.2;Manuelle Speicherverwaltung;319 7.2.2.1;Grundregel;319 7.2.2.2;Lokale Variablen;319 7.2.2.3;Accessoren und Instanzvariablen;323 7.2.2.4;Rückgabe;325 7.2.2.5;Objektvernichtung;327 7.2.2.6;Zusammenfassung;327 7.2.3;Automatische vs. Manuelle Speicherverwaltung;327 7.3;Container;328 7.3.1;Arten von Containern;329 7.3.2;Skalare Container;331 7.3.2.1;Formatter;333 7.3.2.2;Werte;335 7.3.2.3;Zahlen;336 7.3.2.4;Dezimalbrüche;337 7.3.2.5;Zeichenketten;343 7.3.2.6;Date und Calendar;349 7.3.2.7;Binäre Daten;350 7.3.3;Collections;350 7.3.3.1;Elemente und Speicherverwaltung;351 7.3.3.2;Erzeugung;354 7.3.3.3;Keine Collection, leere Collection und leeres Element;355 7.3.3.4;Abzählung ;356 7.3.3.5;Sets;359 7.3.3.6;Counted-Sets;360 7.3.3.7;Ordered-Sets;361 7.3.3.8;Arrays;361 7.3.3.9;NSDictionary;363 7.3.4;Property Lists;365 7.3.4.1;Struktur;366 7.3.4.2;Umwandlung von Entitäten in Property-Lists;367 7.3.4.3;XML-Property-Lists;368 7.4;Zusammenfassung;369 8;5 Die Viewschicht;371 8.1;Grundlagen;372 8.1.1;Responder als Basisklasse;372 8.1.1.1;Fenster;374 8.1.1
.2;Views;374 8.1.1.3;Die Aufgabenteilung zwischen Fenstern und Views;374 8.1.2;Views und Cells;380 8.1.3;Nib-Files;384 8.2;Menüs;387 8.3;Fenster;389 8.3.1;Wichtige Eigenschaften;390 8.3.2;Delegate;393 8.3.3;Sheets ;396 8.3.3.1;Synchrone Alerts;397 8.3.3.2;Asynchrone Alerts;398 8.3.3.3;Synchrone, applikationsmodale Fenster;400 8.3.3.4;Asynchrone, fensterlokale Sheets;404 8.3.4;Drawers;407 8.3.5;Toolbars;408 8.3.5.1;Toolbar-Struktur;408 8.3.5.2;Eigene Toolbar erstellen;411 8.4;Views und Controls;416 8.4.1;Wichtige Eigenschaften;416 8.4.2;Autolayout;419 8.4.2.1;Constraints;421 8.4.2.2;Ungleichungssystem;423 8.4.2.3;Nutzung aus dem Code;425 8.4.3;Buttons;426 8.4.3.1;Aktionsbuttons;427 8.4.3.2;Umschaltbuttons;427 8.4.4;Imageviews;429 8.4.5;Boxen;430 8.4.6;Tabviews;430 8.4.7;Splitviews;433 8.4.8;Progressindicator;434 8.4.9;Textfelder;439 8.4.10;Pop-up-Buttons;440 8.4.11;Scrollviews;442 8.4.12;Tableviews;444 8.4.12.1;Struktur;444 8.4.12.2;Content-Mode;445 8.4.12.3;Data-Source;447 8.4.12.4;Sourceview;447 8.4.12.5;Selection;449 8.4.13;Outlineviews;449 8.4.14;Weitere Views und Eigenschaften;449 8.5;Animation;450 8.6;Zusammenfassung;453 9;6 Die Controllerschicht;455 9.1;Bindings-Controller, KVC, KVV und KVO;456 9.1.1;Grundlagen;456 9.1.1.1;Key und Key-Path;456 9.1.1.2;Key-Value-Coding;458 9.1.1.3;Key-Value-Validation;458 9.1.1.4;Key-Value-Observation;458 9.1.1.5;Cocoa-Bindings (Key-Value-Bindings);459 9.1.2;Key-Value-Coding;460 9.1.2.1;Funktionsweise;461 9.1.2.2;Einfache Accessoren (Getter und Setter);463 9.1.2.3;Ungeordnete To-many-Relationships (Sets);465 9.1.2.4;Geordnete To-many-Relationships (Arrays, Ordered-Sets);471 9.1.2.5;Zusammenfassung:;472 9.1.2.6;Fehlermethoden;472 9.1.3;Key-Value-Validation;473 9.1.4;Key-Value-Observing;474 9.1.5;Bindings;476 9.1.5.1;Bindbare Eigenschaften;476 9.1.5.2;Bindings-Optionen;479 9.1.5.3;Value-Transformer;480 9.1.6;Der Arraycontroller;481 9.1.6.1;Einstellungen im Attributes-Inspector;481 9.1.6.2;Observierbare Eigenschaften;483 9.1.7;Der
Tree-Controller;486 9.1.8;Der Dictionary-Controller;487 9.1.9;Der Defaults-Controller und Voreinstellungen;489 9.1.9.1;Defaultssystem;489 9.1.9.2;Registrationdefaults und Application-Delegate;491 9.1.10;Komplexe Bindings;497 9.1.10.1;Bindingsketten;497 9.1.10.2;Selektions-Bindings;503 9.2;Windowcontroller und Viewcontroller;508 9.2.1;Aufgabe und Stellung;508 9.2.2;Fenstertyp;511 9.2.3;Dokumentenwindowcontroller;513 9.2.3.1;Der eigene Windowcontroller;513 9.2.3.2;Document-Bindings;515 9.2.3.3;Outlets;517 9.2.3.4;Actions und First Responder;517 9.2.4;Infowindowcontroller;520 9.2.5;Inspector-Windowcontroller;529 9.2.5.1;Erstellen;530 9.2.5.2;Synchronisation;533 9.2.6;Viewcontroller;538 9.3;Notifications;539 9.3.1;Lokale Notifications;540 9.3.1.1;Notification definieren;541 9.3.1.2;Notification auslösen;543 9.3.1.3;Notification fangen;544 9.3.2;Als Observer anmelden;545 9.3.2.1;Notifications und Delegating;547 9.3.3;Distributed-Notifications;548 9.4;Data-Sources;550 9.4.1;Bindings einreißen und Data-Source vorbereiten;550 9.4.2;Die Urgründe;552 9.4.3;Manuelle Synchronisation der Auswahl;557 9.4.4;Personen zum Outlineview hinzufügen;560 9.4.5;Gruppen und ihre Elemente;563 9.4.6;Ansichten tauschen;565 9.4.7;Manuelle Synchronisation der Attribute;577 9.4.8;Key-Loop;578 9.5;Drag-and-drop-Controller, Pasteboards;579 9.5.1;Dragging;580 9.5.1.1;Dropping;582 9.6;Zusammenfassung;586 10;7 Die Modelschicht;587 10.1;Grundlagen;588 10.1.1;Inhalt;588 10.1.1.1;Informationen;588 10.1.1.2;Fähigkeiten;590 10.1.2;Modellierung;591 10.1.2.1;Problemstellung;591 10.1.2.2;Modellierungsregeln;593 10.2;Dokumente eigener Klassen;599 10.2.1;Modellimplementierung;600 10.2.2;Anbindung;601 10.2.3;Laden und Speichern;602 10.2.3.1;Methodensatz;603 10.2.3.2;Serialisierung mit Codern;603 10.2.3.3;Serialisieren;605 10.2.3.4;Deserialisierung;612 10.2.3.5;Handwerksregeln;613 10.2.4;Undo ;614 10.2.4.1;Undo-Manager;614 10.2.4.2;Undo-Stack;615 10.2.4.3;Undo implementieren;619 10.2.4.4;Undo deaktivieren ;624 1
0.2.4.5;Handwerksregeln;625 10.3;Core Data;625 10.3.1;Grundlagen;626 10.3.1.1;Aufgabe von Core Data;626 10.3.1.2;Was ist Core Data?;626 10.3.1.3;Aufbau;629 10.3.2;Modelbeschreibung ;632 10.3.2.1;Entitätsbeschreibung;633 10.3.2.2;Eigenschaftsbeschreibungen;634 10.3.2.3;Klassen und Entitäten;641 10.3.3;Instanzverwaltung;642 10.3.3.1;Objekt-ID;642 10.3.3.2;Instanzerzeugung;643 10.3.3.3;Speicherverwaltung;645 10.3.3.4;Instanzvernichtung;645 10.3.3.5;Abweichungen zwischen Store und Kontext;647 10.3.4;Anpassung;647 10.3.4.1;Accessoren;648 10.3.4.2;Klasseneigenschaften;653 10.3.4.3;Eigene Attributtypen;656 10.3.5;Fetch-Requests;660 10.3.6;Prädikate;663 10.3.6.1;Eigenschaft (Key);664 10.3.6.2;Wert;664 10.3.6.3;Operator;665 10.3.6.4;To-many-Beziehungen und Aggregate;666 10.3.6.5;Prädikaterzeugung;667 10.3.7;Sortierung;668 10.3.7.1;Möglichkeiten der Sortierung;668 10.3.7.2;Sort-Deskriptoren;668 10.3.7.3;Reihenfolgeeigenschaft im Model;669 10.3.7.4;Reihenfolgeeigenschaft per Drag-and-Drop und die Objekt-ID;675 10.4;Applikationsmodelle;683 10.4.1;Zugriff;683 10.4.2;Ohne Core-Data-Support;683 10.4.2.1;Im Code;684 10.4.2.2;Im Nib;685 10.4.3;Mit Core-Data-Support;685 10.4.4;Undo-Management;685 10.4.5;Laden und Speichern;686 10.5;Versions und Autosave;687 10.6;Zusammenfassung;687 11;8 Xcode & Co;689 11.1;Workspace, Projekt und Target;690 11.1.1;Übersicht;690 11.1.2;Workspaces;690 11.1.2.1;Workspace erzeugen;691 11.1.2.2;Projekte erzeugen;691 11.1.2.3;Mit Workspace arbeiten;692 11.1.3;Projekt;695 11.1.4;Target;695 11.1.5;Schemes;696 11.1.6;Configurations;697 11.2;Projektdateien;697 11.2.1;Datei hinzufügen;697 11.2.2;Dateien finden;700 11.3;Target;701 11.3.1;Summary;702 11.3.2;Info;703 11.3.3;Build-Settings;706 11.3.4;Build-Phasen;707 11.4;Lokalisierung;709 11.4.1;Ressourcen und Lokalisierung;710 11.4.1.1;Lokalisierte Dateien;710 11.4.1.2;Auswahl der Lokalisierung;711 11.4.1.3;Lokalisierung hinzufügen;711 11.4.1.4;Lokalisierung im Code;715 11.4.2;Das Über-Fenster;717 11.5;Texteditor
und Code-Generierung;718 11.5.1;Texteditor und Preferences;718 11.5.1.1;Textvervollständigung;718 11.5.1.2;Code-Folding ;719 11.5.1.3;Navigation;720 11.5.1.4;Kodierung;720 11.5.1.5;Bezeichnernutzung;721 11.5.1.6;Einrückung;721 11.5.1.7;Key Bindings;721 11.5.2;Code-Generierung;721 11.5.2.1;Core-Data;722 11.5.2.2;Interface Builder;722 11.5.3;Refaktorierung;722 11.5.3.1;Umbenennen;722 11.5.3.2;Auslagern;723 11.5.3.3;Klassenhierarchie;724 11.5.3.4;Konvertierung zu ARC;725 11.6;Codeanalyse;725 11.7;Die erste eigene Applikation;726 11.7.1;Leistungsumfang;726 11.7.2;Arbeitsabläufe;727 11.7.3;User-Interface;727 11.7.4;Model;727 11.7.5;Controller aufbauen;728 11.7.6;Testen und Fehlersuche;728 11.7.7;Anwendung publizieren;728 11.7.7.1;Archive-Build ;729 11.7.7.2;Archive;729 11.8;Zusammenfassung;729 12;Index;731


Portrait

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.

Pressestimmen

Mit dieser Auflage '...ist Negm-Awad ein guter Wurf gelungen, er hat ein ausgezeichnetes Einsteigerbuch zur Mac-Programmierung geliefert.' (c't 2009, Heft 8)

Technik

Dieses eBook wird im epub-Format geliefert und ist mit einem Wasserzeichen versehen. Sie können dieses eBook auf vielen gängigen Endgeräten lesen.

Sie können dieses eBook auf vielen gängigen Endgeräten lesen.

Für welche Geräte?
Sie können das eBook auf allen Lesegeräten, in Apps und in Lesesoftware öffnen, die epub unterstützen:

  • tolino Reader
    Laden Sie das eBook direkt auf dem Reader im eBook.de-Shop herunter oder übertragen Sie das eBook auf Ihr tolino Gerät mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions.

  • Sony Reader und andere eBook Reader
    Laden Sie das eBook direkt auf dem Reader im eBook.de-Shop herunter oder übertragen Sie es mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions.

  • Tablets und Smartphones
    Installieren Sie die eBook.de READER App für Android und iOS oder verwenden Sie eine andere Lese-App für epub-eBooks.

  • PC und Mac
    Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions Sony READER FOR PC/Mac.

Die eBook-Datei wird beim Herunterladen mit einem nicht löschbaren Wasserzeichen individuell markiert, sodass die Ermittlung und rechtliche Verfolgung des ursprünglichen Käufers im Fall einer missbräuchlichen Nutzung der eBook-Datei möglich ist.

Bitte beachten Sie: Dieses eBook ist nicht auf Kindle-Geräten lesbar.

Ihr erstes eBook?
Hier erhalten Sie alle Informationen rund um die digitalen Bücher für Neueinsteiger.

EAN: 9783944165936
Untertitel: Band 1: Grundlagen.
Verlag: SmartBooks
Erscheinungsdatum: November 2012
Seitenanzahl: 752 Seiten
Format: epub eBook
Kopierschutz: Wasserzeichen
Es gibt zu diesem Artikel noch keine Bewertungen.Kundenbewertung schreiben