Mål-C Succinctly Introduksjon

Mål-C er programmeringsspråket bak innfødte Apple-applikasjoner. Språket ble opprinnelig utformet på 1980-tallet som en måte å legge til objektorienterte evner på ANSI C-programmeringsspråket, og det har siden blitt brukt til å lage alt fra kommandolinjeverktøy til Mac-programmer til mobilapper. Du kan tenke på Objective-C som Apples versjon av C # programmeringsspråket.

Imidlertid er learning Objective-C bare ett aspekt av iPhone, iPad og Mac app utvikling. På toppen av språket ligger en håndfull rammer som gir verktøyene som er nødvendige for å bygge apper til noen av disse plattformene. For eksempel definerer UIKit-rammen de grunnleggende brukergrensesnittkomponentene du ser på iPhone (knapper, lister, bilder, etc.), mens Core Data-rammen gir en API for å lagre og hente data fra en enhet. Mål-C er limen som lar deg trekke sammen disse verktøyene og sette dem sammen i et nyttig program.

Mål-C trekker sammen aspekter av flere rammer

Mål-C Succinctly er den første avgiften i en todelt serie på Apples apputvikling. I denne serien undersøker vi hele Objective-C-språket ved hjelp av praktiske eksempler. Vi vil fokusere på å lære kjernespråkskonsepter ved å bygge kommandolinjeverktøy, noe som betyr at vi vil ikke bygg grafiske applikasjoner i denne boken. Dette legger grunnlaget for iOS Succinctly, som undersøker iOS-rammen som ligger bak iPhone og iPad apps. Begge bøkene bruker Xcode, Apples offisielle integrerte utviklingsmiljø.


Mål-C-språket

For utviklere som kommer fra en C # -bakgrunn, beholder Objective-C mange av de samme arbeidsflytene og objektorienterte konseptene. Du skriver fortsatt kode, kompilerer den til en kjørbar, og bruker selvfølgelig objekter til å organisere søknaden din. Objective-C gir standardobjektorientert konstruksjoner som grensesnitt, klasser, klasse- / instansmetoder og accessorer. Når det er sagt, er det noen viktige forskjeller mellom Mål-C og språk som C ++ og C #.

person.sayHello (); // C # metodeoppringing. [person sayHello]; // Mål-C melding sending.

Det første du vil legge merke til er at Objective-C bruker en helt annen syntaks for å kommunisere mellom objekter. For eksempel, sammenlign metoden ringer syntaks av C # til melding sending syntaks av mål-C:

I stedet for å kalle en metode som er bundet til et objekt, sender mål-C "meldinger" fra objekt til objekt ved hjelp av kvadratkonsollnotasjonen. For de fleste praktiske formål kan du nærme deg beskjed som sendes som metode, og vi bruker vilkårene utveksling med mindre det fører til forvirring.

For det andre er Objective-C designet for å være en supersett av C, noe som betyr at det er mulig å kompilere C-kode med en Objective-C-kompilator. Dette betyr også at du kan kombinere Mål-C og C i samme prosjekt eller til og med i samme fil. I tillegg legger de fleste moderne kompilatorer C ++ til blandingen, så det er faktisk mulig å blande Objective-C, C ++ og C i en enkelt fil. Dette kan være veldig forvirrende for nybegynnere til Objective-C, men det gjør også hele C / C ++-økosystemet tilgjengelig for Mac og iOS-apper.

Vi vil utforske disse forskjellene og mye mer gjennom hele Mål-C Succinctly.


Eksempelkode

Du vil lære mer av denne boken hvis du gjenskaper prøvene ved hjelp av koden som er oppgitt i boken.

Et utvalg av prøver som bruker koden som er oppgitt i boken, er tilgjengelig på nettet. Disse prøvene er avgjørende for å forstå Mål-C. Disse prøvene er tilgjengelige for nedlasting fra https://bitbucket.org/syncfusion/objective_c_succinctly. Eksempler som gjelder for bestemte seksjoner, er nevnt i delen de gjelder, ved hjelp av følgende format:

Inkludert kodeeksempel: navn på prøvemappen


Setter opp

Det finnes en rekke kompilatorer for Objective-C, men denne boken vil fokusere på Xcode IDE, som følger med en kompilator, tekstredigerer, debugger, grensesnittredigerer og alt annet du trenger for å lage IOS-apper i en praktisk pakke. Når dette skrives, er Xcode bare tilgjengelig for OS X, så du må være på en Mac før du kan kjøre en hvilken som helst kode i denne boken.

Vi starter med å gå gjennom installasjonen av Xcode, og så lærer vi hvordan du lager et program og undersøker noen av de fremtredende funksjonene til IDE.


Installasjon

Xcode-logoen i Mac App Store

Xcode kan lastes ned fra Mac App Store. Naviger til lenken eller søk etter Xcode i Mac App Store, og klikk deretter Gratis i øverste venstre hjørne for å starte nedlastingen. Xcode-appen er ganske stor, så det tar minst noen minutter å laste ned. Hvis du ikke er sikker på om nedlastingen virker, kan du sjekke statusen sin i kjøp fanen i Mac App Store:

Fanen Innkjøp i Mac App Store

Rull ned for å finne Xcode nedlastingen, og du bør se en fremdriftslinje som viser hvor langt det er. Når nedlastingen er fullført, bør installasjonen være enkel, og du bør (forhåpentligvis) se en vennlig velkomstskjerm når du starter programmet.

Xcode velkomstskjermbildet

Opprette et program

Vårt første mål-C-program vil være en enkel kommandolinje "Hei, Verden!" program. For å opprette Xcode-prosjektet, klikk Opprett et nytt Xcode-prosjekt på velkomstskjermbildet. Som et alternativ kan du også velge Fil > Ny > Prosjekt... Dette gir deg muligheten til å velge en prosjektmal. Som du kan se, er maler kategorisert som enten iOS-apper eller Mac OS X-apper. I den andre delen av denne serien vil vi jobbe med flere av iOS-maler, men for nå, la oss holde oss til det enkle Kommandolinjeverktøy mal under Mac OS X > applikasjon:

Mac OS X-malekategorier og Kommandolinjeverktøy-malikon

Deretter bør du bli presentert med noen konfigurasjonsalternativer for ditt nye prosjekt. For Produktnavn, bruk HelloObjectiveC. Hvis du planla å distribuere dette programmet, må du skaffe en bedriftsidentifikator ved å registrere deg som en utvikler med Apple, men siden dette er et personlig prosjekt, kan du bruke edu.self. Dette tjener som et unikt navneområde for søknaden. Til Type, å velge Fundament (mer om dette senere), og vær sikker på å velge Bruk automatisk referansetelling merk av for vi ikke vil håndtere minne manuelt. Dine siste konfigurasjonsalternativer skal se ut som følgende:

Konfigurasjonsalternativer for vårt nye prosjekt

Til slutt bør du kunne velge et sted for å lagre prosjektet. Lagre det hvor du vil, men avmarker Kildekontroll alternativ nederst i vinduet. Dette ville initialisere et Git-lager i prosjektmappen din, men vi jobber med et så lite prosjekt som vi ikke trenger å bekymre deg for revisjonskontroll.

Fravelger alternativet Source Control

Etter å ha valgt et sted for prosjektet og klikk Skape, Xcode lager en ny mappe som heter HelloObjectiveC. I det bør du finne en annen HelloObjectiveC mappe som inneholder prosjektfilene, sammen med a HelloObjectiveC.xcodeproj mappe; men sistnevnte fungerer mer som en fil enn en mappe. HelloObjectiveC.xcodeproj definerer metadataene for søknaden din, samt lokale konfigurasjonsinnstillinger for IDE.

Den eneste filen du egentlig har trenge i en .xcodeproj mappen er project.pbxproj fil, som inneholder byggeinnstillinger og annen prosjektrelatert informasjon. Det vil si hvis prosjektet ditt var under kildekontroll, project.pbxproj er den eneste filen i HelloObjectiveC.xcodeproj det må være under versjonskontroll.

Dobbeltklikk på HelloObjectiveC.xcodeproj mappen vil starte Xcode og åpne prosjektet.


Bli kjent med Xcode IDE

Xcode er et stort program med mange funksjoner, og det har et tilsvarende komplekst grensesnitt. Det er verdt å ta deg tid til å gjøre deg kjent med de forskjellige brukergrensesnittkomponenter som er markert i følgende skjermbilde.

Hovedkomponenter av Xcode IDE

Som du kan se, er Xcode-grensesnittet delt inn i tre hovedvinduer: en prosjektnavigator (blå), et redigeringsområde / arbeidsområde (gul) og et verktøyområde (lilla). Navigatoren lar deg velge filer, finne kodeavbrudd og feilsøke programmet. Redaktøren er hvor du skal gjøre mesteparten av arbeidet ditt - det er der du redigerer kode og, for grafiske applikasjoner, hvor du designer brukergrensesnittene dine og kontrollerer strømmen av en app. Men igjen, for Mål-C Succinctly, Vi trenger ikke noe av grensesnittredigeringsverktøyene. Endelig lar verktøyområdet deg definere alternativer for den valgte komponenten (for eksempel de byggmålene som er knyttet til en bestemt fil).

Du kan kontrollere hvilken av disse vinduene som er synlige ved hjelp av visningsvelgeren (grønn) i øvre høyre hjørne; Det er imidlertid ikke mulig å skjule arbeidsområdet. Hvis du klikker på senterknappen i visningsvelgeren, vises et utgangsvindu der vi kan se loggdata for applikasjonen vår.

Redigerer filer

Vår kommandolinjemal kommer med en enkelt Objective-C-fil, main.m. .M-utvidelsen brukes til filer som bare inneholder Objective-C-kode, og .mm-utvidelsen er for filer med en blanding av Objective-C og C, Objective-C og C ++, eller en kombinasjon av alle tre. Å redigere main.m, velg det i navigasjonspanelet, og du bør se følgende kode vises i redigeringsvinduet:

// // main.m // HelloObjectiveC // // Laget av Ryan Hodson på 21.08.2012. // Opphavsrett (c) 2012 __MyCompanyName__. Alle rettigheter reservert. #importere  int main (int argc, const char * argv []) @ autoreleasepool // Sett inn kode her ... NSLog (@ "Hei, Verden!");  returnere 0; 

Det neste kapitlet gir en grundig forklaring på denne koden, men for nå er det eneste viktige tingen NSLog () funksjon, som sender ut en streng til konsollen. Legg merke til at mål-C-strengene er prefiks med en @ symbol (som er de fleste konstruksjoner som er eksklusive til mål-C), og de må være dobbeltnoterte.

Samlingskode

Inkludert kodeeksempel: HelloObjectiveC

For å kompilere denne koden og kjøre den resulterende kjørbare, klikker du bare på Løpe knappen i øvre venstre hjørne av IDE. Alternativt kan du velge Produkt > Løpe i hovedmenyen, eller bruk Cmd + R hurtigtast. Dette bør åpne utgangspanelet nederst på skjermen med en "Hei, Verden!" budskap:

HelloObjectiveC loggutgang

Sammendrag

Og det er grunnleggende om å installere Xcode IDE og bruke det til å opprette og kompilere et Objective-C-prosjekt. Vi gjorde ikke noen koding, men forhåpentligvis føler du deg mer komfortabel med Xcode-grensesnittet og i det minste kan navigere deg gjennom et prosjekts filer. I neste kapittel begynner vi å skrive Objective-C-kode, definere klasser, instansere objekter og sende meldinger til dem.

Denne leksjonen representerer et kapittel fra Objective-C Succinctly, en gratis eBok fra teamet på Syncfusion.