Ho letto diversi libri sullo sviluppo di iOS e Objective-C, ma ciò che molti di loro insegnano è come lavorare con le interfacce e tutti contengono il modello all'interno del controller di visualizzazione, ovvero una visualizzazione basata su UITableViewController
avrà semplicemente un NSArray
come modello. Sono interessato a quali sono le migliori pratiche per progettare la struttura di un'applicazione.
In particolare mi interessano le best practice per quanto segue:
- Come separare un modello dal controller della vista. Penso di sapere come farlo semplicemente sostituendo l'esempio di stile
NSArray
con un oggetto modello specifico, tuttavia quello che non so come fare è avvisare la vista quando il modello cambia. Ad esempio in .NET risolverei questo conformandomi aINotifyPropertyChanged
e al databinding, e analogamente a Java usereiPropertyChangeListener
. - Come creare un modello di servizio per i miei oggetti di dominio. Ad esempio, desidero imparare il modo migliore per creare un servizio per un oggetto ipotetico
Widget
per gestire un DB interno e anche servizi per comunicare con endpoint remoti. Devo imparare i modi migliori per farlo in un modo in cui i componenti dell'interfaccia possono sottoscrivere eventi comewidgetUpdated
. Questi servizi dovrebbero essere classi singleton e alcuni come la dipendenza iniettata in oggetti model / controller.
I libri che ho letto fino ad ora sono:
- Programmazione in Objective-C (4a edizione)
- Inizio dello sviluppo di iOS 5: esplorazione dell'SDK iOS
- Il ricettario dello sviluppatore di iOS 5: edizione elettronica estesa: Essentials e ricette avanzate per programmatori iOS
- Scopri Objective-C su Mac: per OS X e iOS
Ho anche acquistato i seguenti libri aggiornati, ma non li ho ancora letti.
- Il Cookbook dello sviluppatore di Core iOS 6 (4a edizione
- Programmazione in Objective-C (5th Edition)
Vengo da uno sfondo di Java e C # con 15 anni di esperienza, ho capito che molti dei modi in cui avrei fatto cose in questi linguaggi potrebbero non adattarsi al modo di sviluppare applicazioni ObjC.
Qualcuno potrebbe fornirmi il il libro su questo argomento contenente questo specifico argomento?