Zhvillimi i aplikacionit Macintosh përdor kthimin e thirrjeve për të lejuar Mac OS X të ekzekutojë kodin brenda aplikacionit tuaj për operacione specifike. Nëse po krijoni një aplikacion standard të bazuar në dritare ose dokument Macintosh, kodi i parë që do të ekzekutojë OS X është në një nga metodat e mëposhtme të kthimit të thirrjes që duhet të krijoni për aplikacionin tuaj, në varësi të dizajnit të aplikacionit:
-
Aplikacionet e bazuara në dritare: (void)applicationDidFinishLaunching:(NSNotification*)aNjoftim
-
Aplikacionet e bazuara në dokumente: (void)windowControllerDidLoadNib:(NSWindowController*)windowController
Një telefonatë është thjesht një metodë që OS përfundimisht e ekzekuton ndërsa po përpiqet të ofrojë ose të marrë informacion nga aplikacioni juaj. Kodi juaj i aplikacionit do të ekzekutojë një metodë për një klasë Kakao, ku aplikacioni juaj do të ketë mundësinë të japë emrin e një metode të njërës prej klasave tuaja, për t'u thirrur në një objekt të asaj klase që aplikacioni juaj gjithashtu do të duhet të ofrojë.
Një delegat është një objekt ndihmës, të cilin një klasë Cocoa e përdor për të zgjeruar funksionalitetin e klasës duke ju lejuar të zbatoni kodin që klasa Cocoa do të ekzekutojë në rrethana të caktuara. Një klasë Kakao kontrollon objektin e saj të deleguar (nëse një i është caktuar) nëse delegati ofron një zbatim të një metode specifike. Nëse delegati e ka atë metodë, klasa Kakao e ekzekuton atë metodë; nëse delegati nuk e zbaton atë metodë specifike, klasa Kakao ose përdor një metodë të paracaktuar të saj ose regjistron një gabim. Shumica e delegatëve duhet të përfshijnë një protokoll të veçantë që përcakton se cilat metoda mund të zbatojnë; delegatët e kodit tuaj duhet të përdorin metodat e implementimit nga protokolli specifik që pret delegati.
Këtu janë disa nga objektet e Kakaos që mund të përdorin delegatë për të ekzekutuar kodin tuaj:
-
NSTableView. NSTableView pranon një delegat që i bindet protokollit NSTableViewDelegate. Kjo përfshin 20 deri në 30 metoda që objekti i deleguar i aplikacionit tuaj mund të zbatojë për të mbështetur nevojën e aplikacionit tuaj për të ditur se çfarë po bën NSTableView. Ka metoda që do të thirren në aplikacionin tuaj kur duhet të dijë dhe të reagojë ndaj një veprimi, si p.sh. kur një përdorues bën një përzgjedhje në tabelë ose kur madhësia e një kolone ndryshohet.
-
Aplikimi NSA. Ju mund të caktoni një NSApplicationDelegate për të trajtuar disa nga metodat që do të marrë një shembull NSApplication (aplikacioni juaj). Këto metoda mund të thirren pak përpara ose menjëherë pasi aplikacioni juaj të ekzekutojë një metodë tjetër, në mënyrë që aplikacioni juaj të mund të përgatitet.
-
NSWindow. Një NSWindowDelegate i caktuar në një nga dritaret e aplikacionit tuaj do t'i japë aplikacionit tuaj një shans për t'iu përgjigjur ndryshimit të madhësisë, lëvizjes së përdoruesit ose ngjarjeve të tjera të dritares.
-
NSmenu. Ju zbatoni një NSmenuDelegate për të mbështetur ngjarjet që ndodhin kur një përdorues ndërvepron me menutë në aplikacionin tuaj.