Hjem Social Media Mac Application Development For Dummies Cheat Sheet - dummies

Mac Application Development For Dummies Cheat Sheet - dummies

Video: Swift Programming Tutorial for Beginners (Full Tutorial) 2024

Video: Swift Programming Tutorial for Beginners (Full Tutorial) 2024
Anonim

Af Karl G. Kowalski

Macintosh-applikationsudvikling kræver kreativitet, programmeringsfærdigheder for mål-C, tålmodighed og en god hjælp til vedholdenhed at implementere, og leverer dit Macintosh-program i god stand til dine brugere. På vej til denne destination vil du støde på nogle udfordringer, der vil teste dine programmerings- og problemløsningskompetencer. Du skal tage fat på (blandt andet) at bruge delegerede til at gennemføre ansøgningsopkald; ved hjælp af ikke-mål-C-rammer fra Apple og inkorporere C ++ kode i dine apps.

Macintosh applikationsudvikling bruger

tilbagekaldelser for at tillade Mac OS X at udføre kode i din app til bestemte operationer. Hvis du opretter en standard Macintosh-vindue- eller dokumentbaseret app, vil den allerførste kode, som OS X udfører, findes i en af ​​følgende tilbagekaldelsesmetoder, du skal oprette til din app, afhængigt af appdesignet:

Windowbaserede apps: (void) applicationDidFinishLaunching: (NSNotification *) aNotification
  • Dokumentbaserede apps: (void) windowControllerDidLoadNib: (NSWindowController *) windowController

  • En tilbagekaldelse er simpelthen en metode, som operativsystemet til sidst udfører, mens det forsøger at levere eller hente oplysninger fra din app. Din ansøgningskode vil udføre en metode til en kakao klasse, hvor din app vil have mulighed for at angive navnet på en metode i en af ​​dine klasser, for at blive indkaldt til et objekt af den klasse, din app skal også levere.

A delegeret er et hjælperobjekt, som en kakao klasse bruger til at udvide klassens funktionalitet ved at tillade dig at implementere kode, som kakao klassen vil udføre under visse omstændigheder. En kakaoklasse kontrollerer sit delegeredeobjekt (hvis en er blevet tildelt) for, hvorvidt delegaten gennemfører en bestemt metode. Hvis delegaten har denne metode, udfører kakao-klassen den metode; Hvis delegaten ikke gennemfører denne specifikke metode, bruger kakaoklassen enten en standardmetode eller registrerer en fejl. De fleste delegerede skal indarbejde en særlig protokol , der bestemmer hvilke metoder de kan gennemføre Din kodeks delegerede skal bruge redskabets metoder fra den specifikke protokol, som delegaten forventer. Her er nogle af kakaogenstande, der kan bruge delegerede til at udføre din kode:

NSTableView.NSTableView accepterer en delegat, der overholder NSTableViewDelegate-protokollen. Dette omfatter 20 til 30 metoder, som din apps delegeredeobjekt kan implementere for at understøtte din apps behov for at vide, hvad NSTableView gør. Der er metoder, der skal kaldes i din ansøgning, når den skal kende og reagere på en handling, f.eks. Når en bruger foretager et valg i tabellen, eller når en kolonne er ændret.

  • NSApplication. Du kan tildele en NSApplicationDelegate til at håndtere nogle af de metoder, som en NSApplication-instans (din ansøgning) modtager. Disse metoder kan kaldes lige før eller lige efter din ansøgning udfører en anden metode, så din app kan udarbejdes.

  • NSWindow. En NSWindowDelegate, der er tildelt en af ​​dine programmets vinduer, vil give din app en chance for at reagere på en bruger tilpasning, flytning eller andre vindueshændelser.

  • NSMenu. Du implementerer en NSMenuDelegate for at understøtte begivenheder, der sker, når en bruger interagerer med menuer i din ansøgning.

  • Ikke-objektiv-C-rammer i Macintosh-programmer

Apple leverer mange Macintosh-programudviklingsrammer (kodebiblioteker), som din app kan kalde for at udføre de tusindvis af operationer i OS X. Mange af disse rammer, som PDF-filen Kit består af mål-C-klasser, hvorfra din app kan oprette og bruge objekter i dine applikationer. Men nogle af disse rammer er kun biblioteker med funktioner, som din app kan udføre.

CFNetwork Framework er f.eks. Et sæt funktioner, som din app kan bruge til at udføre finjusterede netværksforbindelser. NSURL-klassen giver et godt sæt grundlæggende netværksoperationer, der er gode til at hente data ved hjælp af en webadresse. Hvis din app kræver mere kontrol over netværkskommunikationen, som den initierer, skal du bruge CFNetwork-rammen og dens funktioner. Du kan bruge følgende kode til at forberede en HTTP-anmodning om transmission til en bestemt webadresse:

CFStringRef httpBody = CFSTR ("); CFStringRef headerFieldName = CFSTR (" Cookie "); // Tilføj specifikke cookie til HTTP-anmodning CFStringRef headerFieldValue = CFSTR ("loginID = my_user_name; password = my_password;"); CFStringRef url = CFSTR ("www. Diabeticpad. Com"); CFURLRef urlRef = CFURLCreateWithStrign (kCFAllocatorDefault, url, NULL); CFStringRef requestMethod = CFSTR ("GET"); CFHTTPMessageRef anmodning = CFHTTPMessageCreateRequest (kCFAllocatorDefault, requestMethod, url, kCFHTTPVersion1_1) CFHTTPMessageSetBody (anmodning httpBody); // tilføje cookie CFHTTPMessageSetHeaderFieldValue (anmodning headerFieldName, headerFieldValue) CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage (anmodning);

Når din kode er Den serielle anmodning, din app kan så åbne en skrive-stream for at levere anmodningen til dens destination.

Alle de C-baserede Apple-rammer giver en sæt funktioner til at udføre denne type programmering på lavere niveau. Din kode bliver mere kompliceret, men Apple leverer ikke mål-C-klasser til alle sine rammer.Hvis du virkelig har brug for den funktionalitet, der er tilgængelig i en af ​​disse rammer, er det den eneste måde, hvorpå du kan nå dine apps mål. Følgende rammer leverer ikke mål-C-klasser:

Lydværktøjskasse

  • CFNetwork

  • Core MIDI

  • Kernetekst

  • Katalogtjeneste (som LDAP og Open Directory)

  • Sikkerhed > Hvis du vil oprette apps, der kan udnytte funktionerne i OS X fuldt ud, skal du være klar til at understøtte brugen af ​​ikke-objektiv-C-kodebiblioteker.

  • C ++ kode i Objective-C Macintosh-programmer

Objective-C giver objektorienterede funktioner til Macintosh applikationsudvikling, såsom arv og polymorfisme. Sproget er baseret på C programmeringssprog; Derfor kan du bruge din C programmering viden til at kode inden for Objective-C. Objective-C ++ er en bromekanisme, der tillader Objective-C-kildemoduler at arbejde med Objective-C ++-klasser, som kunne kompilere og forbinde med C ++-kodebiblioteker.

Følgende simple eksempel på en firkantet matrix viser indholdet af en C ++ header-fil til en matrixklasse. Matrix-klassen leveres med standardkonstruktøren og destruktoren til en C ++-klasse, og metoderne er, hvad man ville forvente for et grundlæggende firkantmatrixobjekt:

klasse Matrix {public: Matrix (int inSize); virtuelle ~ matrix (); int getSize (void); int getDeterminant (void); void setElement (int inRow, int inCol, int inValue); int getElement (int inRow, int inCol); Matrix operator + (const Matrix & inAddend); privat: int m_size; int [] [] m_elements;};

For at bruge Objective-C ++ skal dine Objective-C ++-klassemoduler bruge filtypen. mm. Dette fortæller Xcodes kompilator om, at klassen skal kompileres ved hjælp af Objective-C ++, som vil gøre det muligt for din klasse at bruge C ++ sprog søgeord. Ved hjælp af Objective-C ++ kan din app oprette et Matrix-objekt til at udføre grundlæggende operationer, som f.eks. At tilføje to Matrix-objekter sammen. Dette forudsætter, at Objective-C ++-kildemodulet har importeret C ++ Matrix. h fil:

- (void) addTwoMatrices {Matrix matrixOne (3); // 3x3 matrix Matrix matrixTwo (3); // en anden int rowIndex = 0; int colIndex = 0; for (rowIndex = 0; rowIndex <3; ++ rowIndex) {for (colIndex = 0; colIndex <3; ++ colIndex) {// angiv matrixens elementer til deres værdier matrixOne. setElement (rowIndex, colIndex, XXX); // Sæt matrix to elementer til nogle andre værdier matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matrixOne + matrixTwo;

Med Objective-C ++ kan dine apps udnytte alle de tilgængelige tredjeparts biblioteker, der er skrevet til C ++.

Mac Application Development For Dummies Cheat Sheet - dummies

Valg af editor

Metoder til sikring af overførsler - dummier

Metoder til sikring af overførsler - dummier

Til compTIA A + certificeringsprøverne, du skal forstå de tilgængelige metoder til sikring af transmissioner. Når du har godkendt brugere og autoriseret dem til at få adgang til bestemte dele af netværket, skal du overveje metoder til sikring af oplysninger, mens de bevæger sig langs netværkskablet. De fleste netværkskommunikationer sendes ud via netværkstråden i ...

Ondsindet software (malware) angreb - dummies

Ondsindet software (malware) angreb - dummies

Ondsindet software, også kendt som malware til systemet, såsom en virus eller spyware. Du bør være bekendt med ondsindet software til A + eksamenerne, når du søger din CompTIA A + -certificering. Virus En virus er et program, der forårsager skade på dit system. Typisk er vira spredt igennem ...

Netværkskabel til CCENT-certificeringseksamen - dummies

Netværkskabel til CCENT-certificeringseksamen - dummies

CCENT-certificeringen afprøver dig på de forskellige typer kabler, der bruges i forskellige scenarier. Nedenfor er nogle vigtige punkter at huske om netværkskabler. Rollover-kabel: Et rollover-kabel er også kendt som et konsolkabel og får navnet rollover fordi rækkefølgen af ​​ledningerne fra den ene ende af ...

Valg af editor

Hvordan man tilføjer fotos med din Nikon D5600 - dummies

Hvordan man tilføjer fotos med din Nikon D5600 - dummies

Ud over dens billedkorrigeringsværktøjer tilbyder Retouch-menuen på Nikon D5600-kameraet også følgende special effects-værktøjer, som gør det muligt at justere dine eksisterende digitale billeder: Fisheye: Anvend dette værktøj til at forvrænge billedet, så det ser ud til at være taget med en fisheye linse. Udseendet ligner ...

Justering af flashoutput med en Nikon D3100 eller D5100 - dummies

Justering af flashoutput med en Nikon D3100 eller D5100 - dummies

, Når du optager billeder med din Nikon D3100 eller D5100 og dens indbyggede flash, forsøger kameraet at justere flashudgangen efter behov for at opnå en god eksponering. Men hvis du skyder i eksponeringsindstillingerne P, S, A eller M, og du vil have lidt mere eller mindre blitz, end kameraet ...

Valg af editor

Webklipning i Internet Explorer - dummies

Webklipning i Internet Explorer - dummies

Internet Explorer er den ulige browser, når det kommer til webklipning i Evernote. Du skal bare følge nogle lidt ændrede instruktioner. Hvis du vil bruge Web Clipper i Internet Explorer, skal du følge disse trin: Fremhæv den tekst, du vil klippe, eller (hvis du klipper en hel artikel eller skærm), spring til trin 2. Hvis ...

For seniorer: Sådan animerer objekter på et PowerPoint Slide-dummies

For seniorer: Sådan animerer objekter på et PowerPoint Slide-dummies

Som standard alle objekter på et Microsoft PowerPoint-dias vises på én gang. For at tilføje mere visuel interesse for præsentationen eller for at afsløre bit af information ad gangen, kan du bruge animation i PowerPoint. For eksempel kan du stille et spørgsmål i titlen på diaset og derefter give svaret i ...