Implementering Tilbakering i Macintosh Applications

Macintosh applikasjonsutvikling bruker callbacks
å la Mac OS X til å kjøre kode i din app for spesifikke operasjoner. Hvis du oppretter en standard Macintosh vindu- eller dokumentbasert app, den aller første koden som OS X vil gjennomføre er i en av følgende tilbakeringing metoder du må skape for din app, avhengig av app utforming:

Window-baserte apps: (void) applicationDidFinishLaunching: (NSNotification *) aNotification

Dokumentbaserte apps: (void) windowControllerDidLoadNib: (NSWindowController *) windowController

En tilbakeringing er rett og slett en metode som OS slutt utfører mens den prøver å levere eller hente informasjon fra din app. Søknaden din kode vil utføre en metode for en Cocoa klasse der din app vil ha mulighet til å oppgi navnet på en metode for en av klassene, å bli kalt på et objekt av klassen din app vil også måtte gi.

En delegat
er en hjelper objekt, som en Cocoa klasse bruker til å utvide funksjonaliteten til klassen ved at du kan implementere kode som Cocoa klassen vil kjøre i visse tilfeller. En Cocoa klasse sjekker sin delegat objekt (hvis man har blitt tildelt) for om representanten gir en implementering av en bestemt metode. Dersom representanten har denne metoden, utfører Cocoa klasse som metoden; dersom representanten ikke gjennomfører den spesifikke metoden, Cocoa klassen enten bruker en standard metode for sin egen eller logger en feil. De fleste delegatene må innlemme en bestemt protokoll
som avgjør hvilke metoder de kan iverksette; Koden er delegater må bruke implementere metoder fra bestemte protokollen at representanten forventer.

Her er noen av de Cocoa gjenstander som kan bruke delegater til å kjøre koden din:

NSTableView. Den NSTableView aksepterer en delegat som adlyder NSTableViewDelegate protokollen. Dette inkluderer 20 til 30 metoder som appens delegat objekt kan iverksette for å støtte din app behov for å vite hva NSTableView gjør. Det finnes metoder som vil bli kalt inn søknaden når den trenger å vite og reagere på en handlinger, for eksempel når en bruker gjør et valg i bordet eller når en kolonne er endret.

  • NSApplication. Du kan tildele en NSApplicationDelegate å håndtere noen av metodene som en NSApplication eksempel (din søknad) vil motta. Disse metodene kan kalles like før eller like etter at søknaden utfører en annen metode, slik at programmet kan være forberedt.

    NSWindow. En NSWindowDelegate tilordnet en av programmets vinduer vil gi appen en sjanse til å svare på en bruker resizing, flytter eller andre vindus hendelser.
  • NSMenu. Du implementere en NSMenuDelegate å støtte hendelser som skjer når en bruker samhandler med menyer i søknaden din.



    Next Page: