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 2025

Video: Our Miss Brooks: Cow in the Closet / Returns to School / Abolish Football / Bartering 2025
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

Vantaggi di base della rete - manichini

Vantaggi di base della rete - manichini

Se la verità viene detta, le reti di computer sono un problema da impostare. Perché i vantaggi di avere una rete rendono la pena di crearne uno utile. Non è necessario essere un dottorato di ricerca per comprendere i vantaggi del networking. Le reti riguardano esclusivamente la condivisione. Nello specifico, le reti riguardano la condivisione di tre elementi: informazioni, risorse, ...

Biometria L'accettazione, la privacy e la legge - manichini

Biometria L'accettazione, la privacy e la legge - manichini

La tecnologia biometrica non è affatto universalmente accettata da tutti gli utenti. Ci sono una serie di considerazioni sociali e legali che danno ad ogni organizzazione una pausa prima di fare il salto a capofitto nell'implementazione di un sistema biometrico. Le persone sono più a loro agio con i sistemi di raccolta biometrici che sono i meno intrusivi. Scanner per retina e nasi elettronici sono ...

Biometria Nozioni di base - manichini

Biometria Nozioni di base - manichini

La biometria non è roba da fantascienza. Puoi trovare una dozzina di modi più o meno efficaci per utilizzare la biometria per identificare qualcuno, ognuno dei quali si divide in due classi: la biometria fisiologica misura una parte specifica della struttura o della forma di una porzione del corpo di un soggetto. La biometria comportamentale è più interessata a come ...

Scelta dell'editore

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

In Excel 2007, è possibile creare dizionari personalizzati da utilizzare quando si esegue il controllo ortografico dei fogli di lavoro. Utilizzare il pulsante Aggiungi al dizionario nella finestra di dialogo Controllo ortografico per aggiungere parole sconosciute a un dizionario personalizzato. Per impostazione predefinita, Excel aggiunge queste parole a un file dizionario personalizzato denominato CUSTOM. DIC, ma è possibile creare una nuova personalizzazione ...

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Sebbene sia possibile convertire qualsiasi cartella di lavoro di Excel in un componente aggiuntivo, non tutte le cartelle di lavoro traggono vantaggio da questa conversione. Una cartella di lavoro senza macro rende un componente aggiuntivo inutile. In effetti, gli unici tipi di cartelle di lavoro che traggono vantaggio dall'essere convertiti in un componente aggiuntivo sono quelli con macro. Ad esempio, una cartella di lavoro costituita da macro generiche (Sub ...

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Se si lavora in Microsoft Excel 2010 e vuoi iniziare a lavorare in un nuovo file di cartella di lavoro di Excel, puoi facilmente creare una nuova cartella di lavoro. Per fare ciò, puoi usare un comando nella scheda File o una scorciatoia da tastiera. Fare clic sulla scheda File. Excel visualizza la visualizzazione Backstage, in cui è possibile accedere ai comandi relativi ai file. ...

Scelta dell'editore

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Adobe Illustrator Creative Suite 5 (Adobe CS5) Illustrator è utilizzato per rimuovere rapidamente aree di grafica con la stessa facilità con cui si cancellano i pixel in Photoshop, accarezzando con il mouse su qualsiasi forma o gruppo di forme. Facendo doppio clic sullo strumento Gomma, è possibile definire il diametro, l'angolo e la rotondità della gomma. Se stai usando un ...

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

I più popolari strumenti di trasformazione in Adobe Creative Suite 5 (Adobe CS5) Illustrator - Rifletti, scala, inclina, rimodella e Trasformazione libera: sono facili da usare e modificano rapidamente la tua illustrazione. Lo strumento Rifletti Niente è simmetrico, giusto? Forse no, ma gli oggetti non creati simmetricamente in Illustrator possono sembrare off-kilter. Utilizzando lo strumento Rifletti, si ...

Quando utilizzare Adobe CS5 Illustrator - dummies

Quando utilizzare Adobe CS5 Illustrator - dummies

Utilizzando Adobe Creative Suite 5 (Adobe CS5) Illustrator anziché Photoshop , ottieni diversi benefici. Potresti aver sentito che Illustrator è migliore per la grafica vettoriale, ma perché e che altro porta? Illustrator può salvare ed esportare immagini nella maggior parte dei formati di file. Scegliendo di salvare o esportare, è possibile creare un ...