Vývoj aplikácií pre systém Macintosh využíva spätné volania, aby umožnil systému Mac OS X spustiť kód vo vašej aplikácii pre konkrétne operácie. Ak vytvárate štandardnú aplikáciu založenú na okne alebo dokumentoch pre Macintosh, úplne prvý kód, ktorý OS X spustí, je v jednej z nasledujúcich metód spätného volania, ktoré musíte pre svoju aplikáciu vytvoriť v závislosti od dizajnu aplikácie:
Spätné volanie je jednoducho metóda, ktorú OS nakoniec vykoná, keď sa pokúša dodať alebo získať informácie z vašej aplikácie. Kód vašej aplikácie spustí metódu pre triedu kakaa, kde bude mať vaša aplikácia možnosť poskytnúť názov metódy jednej z vašich tried, ktorá sa má vyvolať na objekte triedy, ktorú bude musieť poskytnúť aj vaša aplikácia.
Delegát je objekt pomocníka, ktorý trieda Cocoa používa na rozšírenie funkčnosti triedy tým, že umožňuje implementovať kód, ktorý trieda Cocoa bude spúšťať za určitých okolností. Trieda kakaa kontroluje svoj objekt delegáta (ak bol priradený), či delegát poskytuje implementáciu špecifickej metódy. Ak má delegát túto metódu, trieda Cocoa túto metódu vykoná; ak delegát neimplementuje túto špecifickú metódu, trieda Cocoa buď použije vlastnú predvolenú metódu, alebo zaznamená chybu. Väčšina delegátov musí začleniť konkrétny protokol, ktorý určuje, aké metódy môžu implementovať; delegáti vášho kódu musia používať metódy implementácie zo špecifického protokolu, ktorý delegát očakáva.
Tu sú niektoré z objektov kakaa, ktoré môžu použiť delegátov na spustenie vášho kódu:
-
NSTableView. NSTableView akceptuje delegáta, ktorý sa riadi protokolom NSTableViewDelegate. To zahŕňa 20 až 30 metód, ktoré môže implementovať objekt delegáta vašej aplikácie, aby podporil potrebu vašej aplikácie vedieť, čo robí NSTableView. Existujú metódy, ktoré sa zavolajú vo vašej aplikácii, keď potrebuje poznať akciu a reagovať na ňu, napríklad keď používateľ urobí výber v tabuľke alebo keď sa zmení veľkosť stĺpca.
-
Aplikácia NSA. Môžete priradiť NSApplicationDelegate na obsluhu niektorých metód, ktoré inštancia NSApplication (vaša aplikácia) dostane. Tieto metódy možno volať tesne pred alebo hneď po tom, ako vaša aplikácia vykoná inú metódu, aby sa vaša aplikácia dala pripraviť.
-
NSWindow. Funkcia NSWindowDelegate priradená jednému z okien vašej aplikácie umožní vašej aplikácii reagovať na zmenu veľkosti, presun alebo iné udalosti v okne používateľa.
-
NSMenu. Implementujete NSMenuDelegate na podporu udalostí, ku ktorým dochádza, keď používateľ interaguje s ponukami vo vašej aplikácii.