Video: Laserskolan: Del 8 - Implementering av industriell laserstation 2024
En del av Mac-applikationsutveckling för Dummies Cheat Sheet
Macintosh-programutveckling använder callbacks för att tillåta Mac OS X att exekvera kod i din app för specifika operationer. Om du skapar en vanlig Macintosh-fönster eller en dokumentbaserad app, är den allra första koden som OS X ska köras i en av följande återställningsmetoder som du måste skapa för din app, beroende på appdesignen:
-
Fönsterbaserade appar: (void) applicationDidFinishLaunching: (NSNotification *) aNotification
-
Dokumentbaserade appar: (void) windowControllerDidLoadNib: (NSWindowController *) windowController
En återuppringning är helt enkelt en metod som operativsystemet slutligen utförs medan det försöker leverera eller hämta information från din app. Din ansökningskod kommer att utföra en metod för en kakaoklass där din app kommer att få möjlighet att ange namnet på en metod i en av dina klasser, för att bli kallad ett objekt av den klassen som din app också måste tillhandahålla.
A delegat är ett hjälparobjekt som en kakao-klass använder för att utöka klassens funktionalitet genom att låta dig implementera kod som kakao-klassen kommer att utföra under vissa omständigheter. En kakaoklass kontrollerar sitt delegatobjekt (om en har tilldelats) för huruvida delegaten ger ett genomförande av en specifik metod. Om delegaten har den metoden utför kakaoklassen den metoden. Om delegaten inte genomför den specifika metoden använder kakaoklassen antingen en egen standardmetod eller loggar ett fel. De flesta delegater måste införliva ett särskilt protokoll som bestämmer vilka metoder de kan genomföra. Kodens delegater måste använda implementeringsmetoderna från det specifika protokoll som delegaten förväntar sig.
Här är några av kakaoobjekten som kan använda delegater att utföra din kod:
-
NSTableView. NSTableView accepterar en delegat som följer NSTableViewDelegate-protokollet. Detta inkluderar 20-30 metoder som din apps delegatobjekt kan implementera för att stödja din apps behov av att veta vad NSTableView gör. Det finns metoder som kommer att ringas i din ansökan när den behöver veta och reagera på en handling, till exempel när en användare gör ett urval i tabellen eller när en kolumn ändras.
-
NSApplication. Du kan tilldela ett NSApplicationDelegate för att hantera några av de metoder som en NSApplication-förekomst (din ansökan) kommer att ta emot. Dessa metoder kan kallas strax före eller strax efter att din ansökan har utfört en annan metod så att din app kan förberedas.
-
NSWindow. En NSWindowDelegate som tilldelas en av dina programfönster ger din app chansen att svara på en storlek för användare, flyttning eller andra fönsterhändelser.
-
NSMenu. Du implementerar ett NSMenuDelegate för att stödja händelser som händer när en användare interagerar med menyer i din ansökan.