El desenvolupament d'aplicacions de Macintosh utilitza devolucions de trucada per permetre que Mac OS X executi codi dins de la vostra aplicació per a operacions específiques. Si esteu creant una aplicació estàndard de finestres o documents de Macintosh, el primer codi que executarà OS X és en un dels mètodes de devolució de trucada següents que heu de crear per a la vostra aplicació, depenent del disseny de l'aplicació:
-
Aplicacions basades en finestres: (void)applicationDidFinishLaunching:(NSNotification*)aNotification
-
Aplicacions basades en documents: (void)windowControllerDidLoadNib:(NSWindowController*)windowController
Una devolució de trucada és simplement un mètode que el sistema operatiu eventualment executa mentre intenta proporcionar o recuperar informació de la vostra aplicació. El vostre codi d'aplicació executarà un mètode per a una classe Cocoa on la vostra aplicació tindrà l'oportunitat de proporcionar el nom d'un mètode d'una de les vostres classes, per ser cridat a un objecte d'aquesta classe la vostra aplicació també haurà de proporcionar.
Un delegat és un objecte d'ajuda, que una classe Cocoa utilitza per ampliar la funcionalitat de la classe, permetent-vos implementar el codi que la classe Cocoa executarà en determinades circumstàncies. Una classe Cocoa comprova el seu objecte delegat (si se n'ha assignat un) per saber si el delegat proporciona una implementació d'un mètode específic. Si el delegat té aquest mètode, la classe Cocoa executa aquest mètode; si el delegat no implementa aquest mètode específic, la classe Cocoa utilitza un mètode predeterminat propi o registra un error. La majoria de delegats han d'incorporar un protocol concret que determini quins mètodes poden implementar; els delegats del vostre codi han d'utilitzar els mètodes d'implementació del protocol específic que el delegat espera.
Aquests són alguns dels objectes Cocoa que poden utilitzar delegats per executar el vostre codi:
-
NSTableView. El NSTableView accepta un delegat que obeeix el protocol NSTableViewDelegate. Això inclou entre 20 i 30 mètodes que l'objecte delegat de la vostra aplicació pot implementar per donar suport a la necessitat de la vostra aplicació de saber què està fent NSTableView. Hi ha mètodes que es cridaran a la vostra aplicació quan necessiti conèixer i reaccionar davant d'una acció, com ara quan un usuari fa una selecció a la taula o quan es redimensiona una columna.
-
Aplicació NS. Podeu assignar un NSApplicationDelegate per gestionar alguns dels mètodes que rebrà una instància NSApplication (la vostra aplicació). Aquests mètodes es poden cridar just abans o just després que la vostra aplicació executi un altre mètode, de manera que la vostra aplicació es pugui preparar.
-
Finestra NSW. Un NSWindowDelegate assignat a una de les finestres de la vostra aplicació li donarà l'oportunitat de respondre a un usuari que canvia la mida, es mou o altres esdeveniments de la finestra.
-
NSMu. Implementeu un NSMenuDelegate per donar suport als esdeveniments que succeeixen quan un usuari interactua amb els menús de la vostra aplicació.