Implementera återuppringningar i Macintosh-applikationer

Macintosh-applikationsutveckling 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 dokumentbaserad app, är den allra första koden som OS X kommer att köra i en av följande callback-metoder som du måste skapa för din app, beroende på appens design:

  • Fönsterbaserade appar: (void)applicationDidFinishLaunching:(NSNotification*)aNotification

  • Dokumentbaserade appar: (void)windowControllerDidLoadNib:(NSWindowController*)windowController

En återuppringning är helt enkelt en metod som operativsystemet så småningom kör medan det försöker tillhandahålla eller hämta information från din app. Din applikationskod kommer att köra en metod för en Cocoa-klass där din app kommer att ha möjlighet att ange namnet på en metod för en av dina klasser, för att anropas på ett objekt i den klassen som din app också måste tillhandahålla.

En delegat är ett hjälpobjekt som en Cocoa-klass använder för att utöka klassens funktionalitet genom att tillåta dig att implementera kod som Cocoa-klassen kommer att köra under vissa omständigheter. En Cocoa-klass kontrollerar sitt delegatobjekt (om ett sådant har tilldelats) för om delegaten tillhandahåller en implementering av en specifik metod. Om delegaten har den metoden, kör Cocoa-klassen den metoden; om delegaten inte implementerar den specifika metoden, använder Cocoa-klassen 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 får implementera; din kods 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 för att exekvera din kod:

  • NSTableView. NSTableView accepterar en delegat som följer NSTableViewDelegate-protokollet. Detta inkluderar 20 till 30 metoder som din app delegatobjekt kan implementera för att stödja din apps behov av att veta vad NSTableView gör. Det finns metoder som kommer att anropas i din applikation när den behöver känna till och reagera på en åtgärd, till exempel när en användare gör ett val i tabellen eller när en kolumn ändras i storlek.

  • NSA-applikation. Du kan tilldela en NSApplicationDelegate att hantera några av de metoder som en NSApplication-instans (din ansökan) kommer att ta emot. Dessa metoder kan anropas precis innan eller strax efter att din applikation kör en annan metod, så att din app kan förberedas.

  • NSWindow. En NSWindowDelegate tilldelad ett av din applikations fönster ger din app en chans att svara på en användares storleksändring, flyttning eller andra fönsterhändelser.

  • NSMeny. Du implementerar en NSMenuDelegate för att stödja händelser som inträffar när en användare interagerar med menyer i din applikation.


Snagit 2018 Recension Vad är nytt sedan version 13

Snagit 2018 Recension Vad är nytt sedan version 13

TechSmith Snagit är vårt favoritprogram för skärmdumpar och bildredigering. Kolla in de nya funktionerna i Snagit 2018!

8 onlineverktyg för att rita diagram och flödesscheman

8 onlineverktyg för att rita diagram och flödesscheman

Behöver du skapa diagram eller flödesscheman och vill inte installera extra programvara? Här är en lista över diagramverktyg online.

Kan Spotify inte spela den aktuella låten? Hur man fixar

Kan Spotify inte spela den aktuella låten? Hur man fixar

Att ha ett hus fullt av trådlöst uppkopplade enheter och streamingtjänster som Spotify är fantastiskt tills saker och ting inte fungerar och du hittar intressanta lösningar.

Vad är en NVMe M.2 SSD och hur snabb är den?

Vad är en NVMe M.2 SSD och hur snabb är den?

NVMe M.2 SSD är det senaste inom datorhårddiskteknik. Vad är det och hur snabbt är det jämfört med äldre hårddiskar och Solid State Drives (SSD)?

Sonos vs AirPlay: Varför jag valde AirPlay för Whole House Audio

Sonos vs AirPlay: Varför jag valde AirPlay för Whole House Audio

Sonos är den bästa lösningen för strömmande ljud från 400 $ för två högtalare. Men med rätt inställning kan AirPlay vara gratis. Låt oss granska detaljerna.

Google Backup and Sync App ersätter foton och Drive

Google Backup and Sync App ersätter foton och Drive

Google Backup and Sync är en ny app som synkroniserar till Foton och Drive. Läs vidare för att se hur det går mot OneDrive, Dropbox, Backblaze och Crashplan.

Cord Cutting: Recension av MyIPTV med SOPlayer

Cord Cutting: Recension av MyIPTV med SOPlayer

MyIPTV är en kabelklippningstjänst som använder SOPlayer-appen för flera plattformar och tillhandahåller tv, filmer och andra former av media för en betald

Logitech Upplyst Living-Room Keyboard K830

Logitech Upplyst Living-Room Keyboard K830

Logitech släppte nyligen sitt Illuminated Living-Room Keyboard K830 som är tänkt som en följeslagare för hemunderhållning. Här är vår recension av enheten.

CloudHQ uppdaterad: Snabbare synkronisering, redigera Dropbox-filer från Google Docs

CloudHQ uppdaterad: Snabbare synkronisering, redigera Dropbox-filer från Google Docs

Här är en titt på uppdateringen som nyligen släppts till CloudHQ och hur den fungerar. Läs vidare för att hitta mer.

Vad är OnePlus 6T Android-telefon?

Vad är OnePlus 6T Android-telefon?

OnePlus 6T är en Android-telefon av högsta kvalitet som säljs till rabatterat pris jämfört med Apple iPhone, Google Pixel 3 eller Samsung Galaxy S9.