2011-02-04 11 views
6

Ho sviluppato applicazioni web (principalmente) utilizzando php e un po 'di python, mysql, ecc. Per molti anni. Ho una conoscenza abbastanza buona dello sviluppo basato sugli obiettivi e uso gli oggetti il ​​più possibile nei miei progetti, anche se certamente non ne traggo il massimo vantaggio. Sono abbastanza a mio agio da essere pericoloso con C++, C, e ho persino sfiorato un po 'il rubino.Objective C per iOS ... una buona risorsa per un programmatore php?

Tutto ciò detto, l'obiettivo C mi sta dando un momento molto difficile. Non sono sicuro se si tratta della sintassi, della struttura dei file, ecc., Ma non sto semplicemente imparando a mettere insieme correttamente i diversi componenti di un'app, nonostante abbia svolto alcuni tutorial e spiegazioni online. Ho xcode e ho provato a fare alcune cose di base, ma mi sono perso rapidamente nella realizzazione reale.

La mia domanda: Qualcuno mi può consigliare un libro/libri davvero solidi con alcuni buoni esempi che posso illustrare per aiutarmi a capire meglio questo linguaggio? Sono interessato principalmente all'interazione con il database (o analisi XML) e funzionalità di streaming/consegna audio.

Qualsiasi suggerimento sarebbe molto apprezzato! Grazie!

+3

Basta sedersi e scrivere una piccola utility con l'interfaccia utente per uso personale. Ti insegnerà molto. – Costique

risposta

3

3 articoli:

La sintassi non sta per essere un problema per molto tempo. Continua a leggere il codice Objective C, e molto presto le parentesi sembreranno familiari come i punti (o altre forme di abuso di punteggiatura) in altri linguaggi OO.

Se sei un codificatore di linguaggio procedurale, dovrai orientarti sulla progettazione di applicazioni guidate da eventi. L'idea di base è che non puoi sempre dire al sistema operativo cosa fare, quando vuoi farlo, e poi fare la prossima cosa. Devi imparare a ridurre il codice procedurale in callback e poi lasciare che il sistema operativo chiami il tuo codice quando il sistema operativo è buono e pronto. Potrebbe essere necessario imparare come salvare lo stato appropriato tra i callback (ad es. Non è possibile utilizzare un "indice di loop" tra i callback senza salvarlo da qualche parte).

Potrebbe anche essere necessario abituarsi al modello di progettazione MVC orientato agli oggetti . È come capire la differenza tra le procedure di scrittura per un negozio individuale e la creazione di operazioni per un'azienda più grande con divisioni in edifici separati. Il ragazzo che parla al cliente non è il tipo che chiude i libri. Lo stesso con MVC, la vista che presenta l'interfaccia utente all'utente non è necessariamente lo stesso oggetto che memorizza o aggiorna i dati che rappresentano ciò che l'utente vede o fa. Una volta imparata la logica della separazione, capire quale file cercare in qualcosa diventerà un po 'più facile.

+0

Hmm .... ok questo ha molto senso. Ho fatto la programmazione di actionscript in passato e ho scavato abbastanza in profondità nelle viscere di javascript, quindi penso di ottenere quello che stai dicendo qui, e questo in realtà aiuta immensamente. Sei azzeccato con il problema della lingua procedurale ... penso nelle righe quando devo pensare alle chiamate ... corretto? In entrambi i casi ... grazie! Solo un po 'mi ha davvero aiutato molto. Ora ho solo bisogno di capire come l'interfaccia utente interagisce con questi elementi, ecc ... – Jonathan

0

La documentazione ufficiale è grande: http://developer.apple.com/library/ios/#navigation/

Questo è un grande libro. È necessario capire Objective-C prima di iniziare a saltare in creazione di applicazioni (Cocoa Touch): http://www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321711394/ref=sr_1_2?s=books&ie=UTF8&qid=1296848502&sr=1-2

Questo è un grande libro intermedio: http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022/ref=sr_1_1?ie=UTF8&qid=1292262048&sr=8-1

Questo è un grande forum per imparare cose, in aggiunta, ovviamente, a qui: http://www.iphonedevsdk.com/forum/

i video Apple developer sono anche grandi, e si possono scaricare con iTunes, se si vuole, di averli in movimento: http://developer.apple.com/videos/

inoltre, controllare i video di programmazione di classe Stanford iPhone sul iTunes.

EDIT:

Ecco la documentazione sulla classe XML di Apple, NSXML: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLDocument_Class/Reference/Reference.html

E se avete intenzione di utilizzare i database, che probabilmente sarà SQLite, e avrete sicuramente voglia per verificare questo wrapper per SQLite: https://github.com/ccgus/fmdb

0

Non posso raccomandare alcun libro (l'ho imparato facendo molti esperimenti), ma se vuoi iniziare con Objective-C, ti consiglio di sapere quali sono i puntatori e come usarli. Costituiscono la parte più basilare di Objective-C e una volta compresi questi (e NSObject), capisci il 50% della lingua stessa.

Si potrebbe, naturalmente, leggere la documentazione di Apple a http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/

+0

Hmm ... sì capisco i puntatori dei miei pennelli con C++, e sto iniziando a capire cos'è NSObject (Steve Jobs e il suo NextStep thinger) ... Credo di aver capito il 50% della lingua lol :) Grazie però ! – Jonathan

1

ho trovato il libro Aaron Hillegass' davvero utile per imparare Objective-C

iPhone Programming Big Nerd Ranch Guide

Ci sono un sacco di buoni capitoli che camminano attraverso la creazione delle tue app che puoi implementare direttamente sul tuo iPhone/iPad o eseguirle nel simulatore. Spiega alcuni dei concetti più pesanti, ad esempio Core Data, molto bene.

Oltre a ciò i documenti Apple Developer sono una risorsa grande e inestimabile.

Problemi correlati