Casa Social media Mac Sviluppo di applicazioni for Dummies Cheat Sheet - dummies

Mac Sviluppo di applicazioni for Dummies Cheat Sheet - dummies

Video: Our Miss Brooks: Cow in the Closet / Returns to School / Abolish Football / Bartering 2024

Video: Our Miss Brooks: Cow in the Closet / Returns to School / Abolish Football / Bartering 2024
Anonim

Di Karl G. Kowalski

Lo sviluppo di applicazioni Macintosh richiede creatività, capacità di programmazione Objective-C, un po 'di pazienza e una buona dose di persistenza da implementare, perfezionare, e consegna la tua applicazione Macintosh in perfetto stato di funzionamento ai tuoi utenti. Sulla tua strada verso questa destinazione, incontrerai alcune sfide che metteranno alla prova le tue capacità di programmazione e di risoluzione dei problemi. Devi fare i conti con (tra le altre cose) usando i delegati per implementare i callback delle applicazioni; utilizzo di framework non Objective-C di Apple; e incorporando il codice C ++ nelle tue app.

Implementazione di callback in applicazioni Macintosh

Lo sviluppo di applicazioni Macintosh utilizza callback per consentire a Mac OS X di eseguire codice all'interno della propria app per operazioni specifiche. Se stai creando un'app standard per finestre o documenti basata su Macintosh, il primo codice che OS X eseguirà è uno dei seguenti metodi di callback che devi creare per la tua app, a seconda della progettazione dell'app:

  • App basate su finestra: (void) applicationDidFinishLaunching: (NSNotification *) aNotification

  • App basate su documenti: (void) windowControllerDidLoadNib: (NSWindowController *) windowController

Un callback è semplicemente un metodo che il sistema operativo esegue alla fine mentre sta tentando di fornire o recuperare informazioni dalla tua app. Il codice dell'applicazione eseguirà un metodo per una classe Cocoa in cui la tua app avrà l'opportunità di fornire il nome di un metodo di una delle tue classi, per essere chiamato su un oggetto di quella classe che la tua app dovrà anche fornire.

Un delegato è un oggetto helper, che viene utilizzato da una classe Cocoa per estendere le funzionalità della classe, consentendo di implementare il codice che la classe Cocoa eseguirà in determinate circostanze. Una classe Cocoa controlla l'oggetto delegato (se ne è stato assegnato uno) per stabilire se il delegato fornisce un'implementazione di un metodo specifico. Se il delegato ha quel metodo, la classe Cocoa esegue quel metodo; se il delegato non implementa tale metodo specifico, la classe Cocoa utilizza un metodo predefinito o registra un errore. La maggior parte dei delegati deve incorporare un particolare protocollo che determina quali metodi possono implementare; i delegati del codice devono utilizzare i metodi dell'attrezzo dal protocollo specifico che il delegato si aspetta.

Ecco alcuni degli oggetti Cocoa che possono utilizzare i delegati per eseguire il codice:

  • NSTableView.NSTableView accetta un delegato che obbedisce al protocollo NSTableViewDelegate. Ciò include da 20 a 30 metodi che l'oggetto delegato della tua app può implementare per supportare la necessità della tua app di sapere cosa sta facendo NSTableView. Esistono metodi che verranno chiamati nell'applicazione quando è necessario conoscere e reagire a un'azione, ad esempio quando un utente effettua una selezione nella tabella o quando una colonna viene ridimensionata.

  • NSApplication. È possibile assegnare un NSApplicationDelegate per gestire alcuni dei metodi che riceverà un'istanza NSApplication (l'applicazione). Questi metodi possono essere chiamati subito prima o subito dopo che l'applicazione esegue un altro metodo, in modo che la tua app possa essere preparata.

  • NSWindow. Un NSWindowDelegate assegnato a una finestra della tua applicazione darà alla tua app la possibilità di rispondere a un utente che sta ridimensionando, spostando o altri eventi della finestra.

  • NSMenu. Implementa un NSMenuDelegate per supportare eventi che si verificano quando un utente interagisce con i menu dell'applicazione.

Framework C non oggettivi in ​​applicazioni Macintosh

Apple fornisce molti framework di sviluppo di applicazioni Macintosh (librerie di codici) che l'app può chiamare per eseguire le migliaia di operazioni in OS X. Molti di questi framework, come il PDF Kit, sono composti da classi Objective-C, da cui la tua app può creare e utilizzare oggetti all'interno delle tue applicazioni. Tuttavia, alcuni di questi framework sono solo librerie di funzioni che l'app può eseguire.

Ad esempio, il framework CFNetwork è un insieme di funzioni che l'app può utilizzare per eseguire connessioni di rete ottimizzate. La classe NSURL fornisce un buon set di operazioni di rete di base che sono ottime per il recupero dei dati utilizzando un URL. Se la tua app richiede più controllo sulle comunicazioni di rete avviate, dovrai utilizzare il framework CFNetwork e le sue funzioni. È possibile utilizzare il seguente codice per preparare una richiesta HTTP per la trasmissione a un URL specifico:

CFStringRef httpBody = CFSTR ("); CFStringRef headerFieldName = CFSTR (" Cookie "); // aggiungi cookie specifico alla richiesta HTTP CFStringRef headerFieldValue = CFSTR ("loginID = my_user_name; password = my_password;"); CFStringRef url = CFSTR ("www. Diabeticpad. Com"); CFURLRef urlRef = CFURLCreateWithStrign (kCFAllocatorDefault, url, NULL); CFStringRef requestMethod = CFSTR ("GET"); richiesta CFHTTPMessageRef = CFHTTPMessageCreateRequest (kCFAllocatorDefault, requestMethod, url, kCFHTTPVersion1_1); CFHTTPMessageSetBody (richiesta, httpBody); // aggiunge il CFHTTPMessageSetHeaderFieldValue biscotto (richiesta, headerFieldName, headerFieldValue); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage (richiesta);

Una volta che il codice ha la richiesta serializzata, la tua app può quindi aprire un flusso di scrittura per consegnare la richiesta alla sua destinazione.

Tutti i framework Apple basati su C forniscono un serie di funzioni per eseguire questo tipo di programmazione di livello inferiore. Il tuo codice diventerà più complicato, ma Apple non fornisce classi Objective-C per tutti i suoi framework.Se hai davvero bisogno della funzionalità disponibile in uno di questi framework, questo è l'unico modo per raggiungere gli obiettivi della tua app. I seguenti framework non forniscono classi Objective-C:

  • Casella degli strumenti audio

  • CFNetwork

  • Core MIDI

  • Core Text

  • Servizio directory (come LDAP e Open Directory)

  • Sicurezza > Se si desidera creare app che possano sfruttare appieno le funzionalità di OS X, è necessario essere pronti a supportare l'uso di librerie di codici non Objective-C.

Codice C ++ in Objective-C Applicazioni Macintosh

Objective-C fornisce funzionalità orientate agli oggetti per lo sviluppo di applicazioni Macintosh, come l'ereditarietà e il polimorfismo. La lingua è basata sul linguaggio di programmazione C; quindi, puoi usare le tue conoscenze di programmazione C per codificare all'interno di Objective-C. Objective-C ++ è un meccanismo di bridge che consente ai moduli sorgente di Objective-C di funzionare con le classi Objective-C ++, che possono compilare e collegare librerie di codici C ++.

Il seguente semplice esempio di matrice quadrata mostra il contenuto di un file di intestazione C ++ per una classe Matrix. La classe Matrix viene fornita con il costruttore e il distruttore standard per una classe C ++ ei metodi sono quelli che ci si aspetterebbe da un oggetto matrice matrice di base:

class Matrix {public: Matrix (int inSize); virtual ~ Matrix (); int getSize (void); int getDeterminant (void); void setElement (int inRow, int inCol, int inValue); int getElement (int inRow, int inCol); Operatore matrice + (const Matrix e inAddend); privato: int m_size; int [] [] m_elementi;};

Per utilizzare Objective-C ++, i moduli di classe Objective-C ++ devono utilizzare l'estensione del file. mm. Questo dice al compilatore di Xcode che la classe deve essere compilata usando Objective-C ++, che permetterà alla tua classe di usare parole chiave in linguaggio C ++. Usando Objective-C ++, la tua app potrebbe creare un oggetto Matrix per eseguire operazioni di base, come l'aggiunta di due oggetti Matrix insieme. Ciò presuppone che il modulo sorgente Objective-C ++ abbia # importato la matrice C ++. h file:

- (void) addTwoMatrices {Matrix matrixOne (3); // matrice 3x3 Matrix matrixTwo (3); // another int rowIndex = 0; int colIndex = 0; for (rowIndex = 0; rowIndex <3; ++ rowIndex) {for (colIndex = 0; colIndex <3; ++ colIndex) {// imposta gli elementi di matrix one ai loro valori matrixOne. setElement (rowIndex, colIndex, XXX); // imposta gli elementi di matrix two su altri valori matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matrixOne + matrixTwo;

Con Objective-C ++, le tue app sono in grado di sfruttare tutte le librerie di terze parti disponibili scritte per C ++.
Mac Sviluppo di applicazioni for Dummies Cheat Sheet - dummies

Scelta dell'editore

Decodifica Simboli, Similitudini e Metafore sul SAT

Decodifica Simboli, Similitudini e Metafore sul SAT

Spesso ingannano SAT. Un passaggio di lettura può contenere uno o più simboli, similitudini o metafore (tutti i tipi di linguaggio figurativo) che hanno un significato più profondo. Le domande sul linguaggio figurativo possono essere simili alle seguenti: Nel secondo paragrafo, l'autore paragona il suo viaggio allo Yankee Stadium a una caccia al tesoro perché ...

Come funziona la nuova sezione SAT scrittura e lingua - dummy

Come funziona la nuova sezione SAT scrittura e lingua - dummy

Cosa significa "tendenza" nel nuovo Sezione SAT scrittura e lingua? Fuori dal campo ci sono domande basate su singole frasi casuali - le vecchie domande di "riconoscimento degli errori" e "miglioramento della frase". La sezione riprogrammata SAT Writing and Language allega domande a scelta multipla a brevi passaggi, quindi le tue revisioni hanno un contesto. La sezione presenta ancora un tema, ...

Come funziona la nuova sezione di lettura SAT - dummies

Come funziona la nuova sezione di lettura SAT - dummies

Il nuovo SAT invia completamenti di frase - istruzioni con spazi vuoti in che inserisci una parola appropriata - nell'oblio (inesistenza). Invece, i produttori di SAT hanno rinforzato i passaggi di comprensione della lettura, aggiungendo grafici e domande sulle prove. In questo modo, il College Board tenta di mettere in relazione 65 minuti di lettura altamente artificiale con la tua capacità di arare ...

Scelta dell'editore

Quad Visualizza in Blender - dummies

Quad Visualizza in Blender - dummies

Se hai utilizzato altri programmi di grafica 3D oltre a Blender, potresti essere utilizzato per qualcosa denominato Quad View, in cui la Vista 3D è suddivisa in quattro regioni: viste ortogonali superiore, anteriore e destra, insieme a una vista prospettica dell'utente. Puoi creare un layout simile a questo attraverso il compito un po 'arduo di ...

Test di garanzia della qualità per siti web mobili - manichini

Test di garanzia della qualità per siti web mobili - manichini

Prima di lanciare un nuovo sito destinato all'iPhone e iPad, verifica sempre il suo design e funzionalità su iPhone o iPad, per garantire che il sito appaia e funzioni nel modo in cui pensi che dovrebbe. L'uso di un simulatore non è mai un sostituto per il completamento di un elenco di controllo finale su un dispositivo fisico. Come ...

Ponderazione dello scopo dei file PDF - dummies

Ponderazione dello scopo dei file PDF - dummies

PDF, come implica il nome Portable Document Format, era sviluppato da Adobe Systems come mezzo per lo scambio di file digitali. L'idea principale dietro il formato del file è quella di consentire a tutti gli utenti di computer di essere in grado di aprire, rivedere e stampare i documenti salvati in esso. Ciò significa che gli utenti che lavorano su computer che ...

Scelta dell'editore

Ripresa in modalità orizzontale sulla Rebel T6i / 750D - dummies

Ripresa in modalità orizzontale sulla Rebel T6i / 750D - dummies

Modalità orizzontale sul Rebel T6i / 750D è progettato per catturare viste panoramiche, skyline della città e altri soggetti su larga scala e produce una grande profondità di campo. Di conseguenza, gli oggetti vicini alla fotocamera e ad una certa distanza appaiono nitidamente concentrati, come in questa figura. La modalità orizzontale produce un'ampia zona di messa a fuoco nitida. Come ...

Ripresa in modalità Esposizione multipla con una Canon EOS 70D - manichini

Ripresa in modalità Esposizione multipla con una Canon EOS 70D - manichini

Tramite l'opzione Esposizione multipla su la tua Canon EOS 70D, che si trova nel menu di ripresa 4 (disponibile solo nelle modalità di esposizione avanzate), puoi acquisire da due a nove immagini e quindi consentire alla fotocamera di unirle in un'unica foto. Questa funzione è stata utilizzata per creare entrambe le immagini mostrate nella figura seguente. Per ...

Menu di configurazione 2 sul Rebel T6i / 750D - dummies

Menu di configurazione 2 sul Rebel T6i / 750D - dummies

Menu di configurazione 2 sul Rebel T6i / 750D offre diversi modi per personalizzare le operazioni di base. Il menu di configurazione 2, che figura nella seguente figura, contiene le seguenti opzioni: Menu di configurazione 2 offre altri modi per personalizzare le operazioni di base. Spegnimento automatico: per risparmiare la carica della batteria, la fotocamera si spegne automaticamente dopo un determinato periodo di inattività. Con ...