“Protocol Oriented Programming” per la gestione degli storyboard segue

Uno dei problemi ricorrenti nello sviluppo delle applicazioni iOS è la gestione della Storyboard e dei segue. Questi vengono definiti all’interno dello storyboard stesso, mentre alcune operazioni devono essere poi effettuate via codice. Tipicamente via codice si effettuano passaggi di dati o configurazioni che devono essere fatte a runtime.

Situazione attuale

Chiunque abbia utilizzato uno storyboard e i suoi segue avrà poi scritto delle istruzioni simili:

Continua a leggere…

Risolvere il problema di cache della tastiera con UIResponder+KeyboardCache

C’è un fastidioso bug in iOS che causa un ritardo piuttosto significativo tra la prima volta che la tastiera viene richiesta e quando questa appare effettivamente su schermo. Il problema si presenta solo al primo avvio della tastiera, che viene poi mantenuta in cache dal sistema.

Per risolvere questo problema, ho rilasciato su GitHub creato un’estensione in Swift, che permette di forzare la procedura di cache della tastiera (la category originale in ObjectiveC è invece disponibile in questa repository).

Continua a leggere…

Singleton in Swift

Uno dei pattern più utilizzati durante lo sviluppo è sicuramente il Singleton. Per chi non lo sapesse, la definizione di pattern Singleton è la seguente1:

Il singleton è un design pattern creazionale che ha lo scopo di garantire che di una determinata classe venga creata una e una sola istanza, e di fornire un punto di accesso globale a tale istanza.

Con un singleton, quindi, possiamo avere un’unica istanza di una determinata classe, che viene condivisa tra le varie classi che la utilizzano.

Come possiamo creare un singleton in Swift? Vediamo due possibili alternative.

Continua a leggere…