Video: Apifonica Trailer (in Dutch) 2024
Een deel van de ontwikkeling van Mac-toepassingen voor Dummies Cheat Sheet
Macintosh-toepassingsontwikkeling maakt gebruik van callbacks om Mac OS X toe te staan code uit te voeren in uw app voor specifieke bewerkingen. Als u een standaard Macintosh-venster- of documentgebaseerde app maakt, is de allereerste code die door OS X wordt uitgevoerd, afhankelijk van het app-ontwerp in een van de volgende callback-methoden die u voor uw app moet maken:
-
Venstergebaseerde apps: (ongeldig) applicationDidFinishLaunching: (NSNotification *) aNotification
-
Document-gebaseerde apps: (void) windowControllerDidLoadNib: (NSWindowController *) windowController
Een callback is gewoon een methode die het OS uiteindelijk uitvoert terwijl het probeert informatie uit uw app te leveren of op te halen. Uw toepassingscode voert een methode uit voor een Cocoa-klasse, waarbij uw app de mogelijkheid heeft om de naam van een methode van een van uw klassen op te geven, om te worden aangeroepen in een object van die klasse dat uw app ook moet bieden.
Een deelnemer is een helperobject, dat een Cocoa-klasse gebruikt om de functionaliteit van de klasse uit te breiden door u in staat te stellen code te implementeren die de Cocoa-klasse onder bepaalde omstandigheden zal uitvoeren. Een Cocoa-klasse controleert zijn gedelegeerde object (als er een is toegewezen) of de gedelegeerde een implementatie van een specifieke methode biedt. Als de deelnemer deze methode heeft, voert de Cocoa-klasse die methode uit; als de deelnemer deze specifieke methode niet implementeert, gebruikt de Cocoa-klasse een eigen standaardmethode of logt een fout in. De meeste deelnemers moeten een bepaald -protocol opnemen dat bepaalt welke methoden ze kunnen implementeren; de gedelegeerden van uw code moeten de implementatiemethoden gebruiken van het specifieke protocol dat de gedelegeerde verwacht.
Hier zijn enkele Cocoa-objecten die deelnemers kunnen gebruiken om uw code uit te voeren:
-
NSTableView. De NSTableView accepteert een deelnemer die het protocol NSTableViewDelegate gehoorzaamt. Dit omvat 20 tot 30 methoden die het delegatieobject van uw app kunnen implementeren om de behoefte van uw app te ondersteunen om te weten wat de NSTableView aan het doen is. Er zijn methoden die in uw toepassing worden aangeroepen wanneer deze moeten weten en reageren op acties, zoals wanneer een gebruiker een selectie in de tabel maakt of wanneer de grootte van een kolom wordt gewijzigd.
-
NSApplication. U kunt een NSApplicationDelegate toewijzen om enkele van de methoden te verwerken die een NSApplication-instantie (uw toepassing) zal ontvangen. Deze methoden kunnen worden aangeroepen vlak voor of net nadat uw toepassing een andere methode heeft uitgevoerd, zodat uw app kan worden voorbereid.
-
NSWindow. Een NSWindowDelegate dat is toegewezen aan een van de vensters van uw toepassing geeft uw app de kans om te reageren op de grootte van een gebruiker, het verplaatsen of andere venstergebeurtenissen.
-
NSMenu. U implementeert een NSMenuDelegate om gebeurtenissen te ondersteunen die plaatsvinden wanneer een gebruiker communiceert met menu's in uw toepassing.