ebook img

Objective-C - kurz & gut PDF

224 Pages·2013·3.517 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Objective-C - kurz & gut

O’Reillys Taschenbibliothek Objective-C kurz & gut O’REILLY Lars Schulten Objective-C kurz & gut LarsSchulten Beijing(cid:2)Cambridge(cid:2)Farnham(cid:2)Köln(cid:2)Sebastopol(cid:2)Tokyo DieInformationenindiesemBuchwurdenmitgrößterSorgfalterarbeitet.Dennoch könnenFehlernichtvollständigausgeschlossenwerden.Verlag,Autorenund ÜbersetzerübernehmenkeinejuristischeVerantwortungoderirgendeineHaftung füreventuellverbliebeneFehlerundderenFolgen. AlleWarennamenwerdenohneGewährleistungderfreienVerwendbarkeitbenutzt undsindmöglicherweiseeingetrageneWarenzeichen.DerVerlagrichtetsichim WesentlichennachdenSchreibweisenderHersteller.DasWerkeinschließlichaller seinerTeileisturheberrechtlichgeschützt.AlleRechtevorbehalteneinschließlich derVervielfältigung,Übersetzung,MikroverfilmungsowieEinspeicherungund VerarbeitunginelektronischenSystemen. KommentareundFragenkönnenSiegerneanunsrichten: O’ReillyVerlagGmbH&Co.KG Balthasarstr.81 50670Köln E-Mail:[email protected] CopyrightderdeutschenAusgabe: (cid:2)2013O’ReillyVerlagGmbH&Co.KG 1.Auflage2013 DieDarstellungeinesSteppenfuchsesimZusammenhang mitdemThemaObjective-CisteinWarenzeichenvonO’ReillyMedia,Inc. BibliografischeInformationDerDeutschenNationalbibliothek DieDeutscheNationalbibliothekverzeichnetdiesePublikationinder DeutschenNationalbibliografie;detailliertebibliografischeDaten sindimInternetüberhttp://dnb.d-nb.deabrufbar. Lektorat:AlexandraFollenius,Köln Fachgutachten:IngoDellwig,Hannover Korrektorat:SibylleFeldmann,Düsseldorf Produktion:AndreaMiß,Köln Umschlaggestaltung:EllieVolckhausen,Sebastopol&MichaelOreal,Köln Satz:ReemersPublishingServicesGmbH,Krefeld,www.reemers.de Druck:fgb(cid:2)freiburgergraphischebetriebe;www.fgb.de ISBN:978-3-86899-373-8 DiesesBuchistauf100%chlorfreigebleichtemPapiergedruckt. Inhalt Einfu¨hrung..................................................................... 1 1 Grundlagen............................................................... 5 EinerstesBeispiel.......................................................... 5 Codeschreibenundkompilieren.......................................... 6 Headerdateien.............................................................. 8 Frameworks................................................................ 9 2 Syntax 11 KlassenundObjekte....................................................... 11 Nachrichten................................................................. 12 Compilerdirektiven......................................................... 13 Literaldeklarationen........................................................ 14 Blocks....................................................................... 18 EinzweitesBeispiel........................................................ 19 3 Objekte.................................................................... 23 ObjektvariablenundZeiger................................................ 23 Objekteerstellen........................................................... 27 MitObjekteninteragieren................................................. 28 Objektevergleichen........................................................ 29 Objekt-Enumeration........................................................ 30 Objektindizierung.......................................................... 30 4 Klassen.................................................................... 33 Klassendeklarationund-definition........................................ 33 Felder....................................................................... 35 Methoden.................................................................. 38 Eigenschaften............................................................... 47 | III VererbungundPolymorphie............................................... 56 Typumwandlungen........................................................ 61 5 KategorienundKlassenerweiterungen.............................. 63 Klassenerweiterungen...................................................... 65 6 Protokolle................................................................. 67 EinProtokolldeklarieren................................................... 67 Protokolleimplementieren................................................ 69 OptionaleMethodenaufrufen............................................. 70 ProtokollealsReferenztypen.............................................. 71 InformelleProtokolle....................................................... 71 7 FehlerundAusnahmen................................................. 73 Fehler....................................................................... 74 NSError-Referenz........................................................... 76 Ausnahmen................................................................. 78 NSException-Referenz...................................................... 83 8 NSObject.................................................................. 85 9 Objektlebenszyklus...................................................... 87 Objekteerstellen........................................................... 88 Objektekopieren........................................................... 95 Objektvernichtung.......................................................... 99 10 Speicherverwaltung..................................................... 101 WasSpeicherverwaltungist............................................... 101 SpeicherverwaltungstechnologienunterObjective-C...................... 102 ARC(AutomaticReferenceCounting)...................................... 104 MRC(ManuelReferenceCounting)........................................ 110 11 Laufzeitinformationen.................................................. 115 Objektinformationen....................................................... 116 Klasseninformationen...................................................... 117 Funktionsinformationen.................................................... 123 Protokollinformationen.................................................... 124 12 Messaging................................................................ 127 Kompilierung............................................................... 128 Selektoren.................................................................. 129 IV | Inhalt Implementierungen........................................................ 130 Selektorendynamischausfu¨hren.......................................... 131 Implementierungencachen................................................ 135 DynamischeMethodenimplementierung.................................. 137 Nachrichtenweiterleitung.................................................. 139 13 Key/Value-Coding....................................................... 143 KVC-Konformita¨t........................................................... 143 Schlu¨sselbasierteInteraktionmitObjekten................................ 144 Schlu¨sselpfade.............................................................. 145 VirtuelleSchlu¨ssel.......................................................... 146 KVC-Validierung............................................................ 147 Schlu¨sselpfadoperatoren................................................... 148 14 Objektarchivierung...................................................... 151 Sequenzielleundschlu¨sselbasierteArchive............................... 153 DieNSCoding-Methodenimplementieren................................. 153 Coder-Objekte.............................................................. 156 15 Blocks 159 Blocksdefinieren........................................................... 159 BlocksalsObjekte.......................................................... 161 ZugriffaufdenKontext.................................................... 161 LokaleVariablen........................................................... 165 GlobaleundkontextgebundeneBlocks.................................... 168 16 NSObject-Referenz....................................................... 173 17 Compilerdirektiven...................................................... 185 18 AlternativePlattformen................................................ 195 Compiler.................................................................... 196 Clang/LLVM................................................................ 196 LaufzeitumgebungenundPlattformen.................................... 197 19 Clang-Optionen.......................................................... 201 Index............................................................................ 205 Inhalt | V Einfu¨hrung Objective-C ist die Programmierspracheder letzten Jahre. Die Be- liebtheitvonApplesPlattformen,iOSundMacOSX,sorgtdafür, dass die Sprache heute aktueller ist als je zuvor. Objective-C – kurz & gut ist ein kompaktes Handbuch zur Programmiersprache Objective-C. Es illustriertdie grundlegenden Aspekte der Sprache mit kurzen Erklärungen,die von kleinerenBeispielenaufgelockert werden,undbieteteinenÜberblicküberdiewichtigstenTechnolo- gien,Klassen,NachrichtenundFunktionen.Esrichtetsichanalle, die bereits für andere Plattformen programmiert haben und sich nunindiesespannendeSpracheeinarbeitenwollen. Sie sollten mit mindestens einer Sprache ver- trautsein,dieeineC-artigeSyntaxnutzt.Ob- jective-C setzt auf C auf und nutzt viele Ele- mente seiner Syntax unverändert. Das heißt, elementare Syntaxformen, wie Schleifen und Bedingungsanweisungen, sowie die elementa- ren C-Datentypen werden in diesem Buch nicht erläutert.Das bedeutet aber nicht, dass Sie C selbst beherrschen müssen. Eine belie- bigeanCangelehnteProgrammiersprachemit äquivalenten Sprachelementen, Java oder C# beispielsweise,reichtvollkommenaus.Wenn SiebislangnurmitdynamischtypisiertenSpra- chen wie z. B. JavaScript gearbeitet haben, solltenSiesichallerdingsunbedingtmitstati- schenTypsystemenvertrautmachen. | 1 Objective-C Objective-C ist ein C-Dialekt. Es bildet eine vollständige Ober- menge zu C und bietet alles, was auch C bietet. Es besitzt die gleichenSyntaxstrukturenund-elemente,nutztdiegleichenDaten- typen und kann sogar auf die gleichen Bibliotheken zugreifen. Wenn Sie sich Objective-C von C her nähern, werden Ihnen also viele Dinge bekannt vorkommen. Sie könnten einem Objective- C-Compiler sogar Ihren alten C-Quellcode vorsetzen, und dieser würdeihnanstandsloskompilieren. HabenSiekeineErfahrung mitC,müssen Siesichzusätzlichzum eigentlichenObjective-C-Kernnoch mitgewissenAspektenvonC auseinandersetzen, die bei der Arbeit mit Objective-C unumgäng- lichsind.AufeinigedieserAspektewieC-Zeigerwerdenwir(kurz) eingehen,daansonsteneinVerständnisvonObjective-Cunmöglich ist.AnderewiediediversenC-DatentypenundC-Syntaxstrukturen werdenwirhiernichtbeschreiben,dawirdavonausgehen,dassSie bereits mit Sprachen wie Java, C# usw. gearbeitet haben, die ähnlicheFeaturesbieten.SolltedasnichtderFallsein,müssenSie die entsprechenden Informationen in einem geeigneten C-Buch nachschlagen. Objective-Cist aberauch eine objektorientierteProgrammierspra- che,diealleFeaturesbietet,dieIhnenausanderenobjektorientier- ten Programmiersprachen vertraut sein sollten: Objekte, Klassen, Schnittstellen, Vererbung, Polymorphie usw. Dazu erweitert es C um die entsprechenden Strukturen und Syntaxformen: Compiler- direktiven,SyntaxstrukturenzurDefinitionvonKlassenundihren Elementen, Syntaxstrukturen zur Arbeit mit Klassen und ihren Elementen und einige neue Datentypen. Das Buch erläutert die wichtigsten Aspekte der objektorientierten Programmierung und ihre spezifische Implementierung in Objective-C und geht dabei auchexplizitaufdiePunkteein,andenensichdieobjektorientierte ProgrammierungunterObjective-Cvonderinz.B.Javaunterschei- det. 2 | Einführung

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.