Skip to main content

Singleton in Swift

Il Singleton è un software design pattern che prevede l’esistenza di non più di una istanza di una certa classe in memoria.

E’ molto frequente nello sviluppo iOS e gli stessi  framework ufficiali spesso lo adottano.

In Swift (dopo la versione 1.0) definire un singleton è estremamente semplice, soprattutto rispetto a Objective-C. (altro…)

Trainer • Developer • Writer

Creare un Dao per i dati utente con Swift

In un articolo precedente abbiamo visto che NSUserDefaults è la soluzione perfetta per il salvataggio dei dati dell’utente della vostra app. Tuttavia accedere a NSUserDefaults direttamente da vari punti della vostra app vi carica della responsabilità che le letture e le scritture siano effettivamente consistenti. Ad esempio basta scrivere erroneamente il nome della key associata al valore che state gestendo per produrre degli scenari non coerenti.

Può sembrare un errore facile da evitare ma quando l’app diventa complessa con varie coppie chiave valore che vengono salvate in diversi punti del codice, è facile commettere un errore. E purtroppo si tratta di un’ inconsistenza che il compilatore non può controllare essendo le chiavi delle stringhe.

Una prima soluzione potrebbe sembrare quella di creare delle costanti  (di tipo String) per accedere ai metodi di NSUserDefaults passando sempre una costante invece di digitare liberamente la chiave. Tuttavia stiamo esponendo al codice dell’intera app dei dettagli che sarebbe meglio racchiudere in un oggetto unico. (altro…)

Trainer • Developer • Writer

Perché dovresti evitare l’ereditarietà nel tuo videogioco (e preferire i componenti)

Tra qualche giorno sarà passato un anno dal lancio di Luminetic Land (il mio primo videogioco) su App Store. Sviluppare un gioco in ogni suo aspetto espone a tante problematiche dello sviluppo software, una delle più ricorrenti era: come mantenere il codice il più chiaro ed essenziale possibile? (altro…)

Trainer • Developer • Writer