AppKit
AppKit (formellt Application Kit ) är en grafisk verktygslåda för användargränssnitt . Det fungerade initialt som UI-ramverket för NeXTSTEP . Tillsammans med Foundation och Display PostScript blev det en av kärndelarna i OpenStep -specifikationen för API:er. Senare blev AppKit och Foundation en del av Cocoa , Objective-C API-ramverket för macOS . GNUstep , GNU :s implementering av OpenStep/Cocoa API, innehåller också en implementering av AppKit API.
AppKit består av en samling av Objective-C- klasser och protokoll som kan användas för att bygga en applikation i OpenStep/Cocoa. Dessa klasser kan också användas i Swift genom dess Objective-C-brygga. Xcode har inbyggd funktionalitet för att utveckla en Cocoa-applikation med AppKit, inklusive möjligheten att visuellt designa användargränssnitt med Interface Builder . Den förlitar sig mycket på mönster som referenstyper , delegering , meddelanden , mål-åtgärd och modell-vy-kontroller . Ett tecken på NeXTSTEP-arvet, AppKits klasser och protokoll använder fortfarande prefixet "NS".
De flesta av de applikationer som medföljer macOS – till exempel Finder , TextEdit , Calendar och Preview – använder AppKit för att tillhandahålla sitt användargränssnitt.
macOS , iOS , iPadOS och tvOS stöder även andra UI-ramverk, inklusive UIKit , som härrör från AppKit och använder många liknande strukturer, och SwiftUI, ett Swift -only deklarativt UI-ramverk.
Före macOS Catalina stödde macOS också Carbon , ett ramverk för användargränssnitt som härrör från Macintosh Toolbox .
Klasser
Av de mer än 170 klasser som ingår i Application Kit utgör följande klasser kärnan:
-
NSApplication
: ett singleton-objekt som representerar applikationen som helhet och spårar dess fönster och andra globala tillstånd -
NSWindow
: ett objekt som representerar ett fönster på skärmen, det har en hierarki av vyer -
NSView
: ett objekt som representerar ett rektangulärt område; det kan rita eget gränssnittsinnehåll (med hjälp av ritmotorer som Quartz , Core Animation och Metal ), och det kan också ha ett underträd med andra vyer -
NSResponder
: ett objekt som kan svara på händelser under programmets livstid;NSApplication
,NSWindow
ochNSView
är alla underklasser avNSResponder
-
NSDocument
: ett objekt som representerar ett dokument sparat på disk som hanterar dess visning i ett fönster -
NSController
: en abstrakt klass som implementerar viss funktionalitet för en styrenhet , förmedlar mellan vyer och modellobjekt