Test ready to review

When the user launches our app, he can see a list of most popular photos from 500px, ordered by rating score from higher to lower. To improve the performance and user experience, the list is paginated with 20 items per page. When the user scrolls to bottom of the list, automatically, if there are more photos, the app fetch the next page and reloads the list when we receive the data. All pictures are loaded asynchronously, using a third party library called SDWebImage. For handle the dependence I've used Cocoapods. The user can select one picture from the list to see more info about it also.

In the more info view, the user can see the photo preview and in the bottom, he can see the avatar and username of author and a button that expands the details view with a vertical animation. This view contains the photo description, camera and lens used to take a picture, if is available, and a mapview with photo location, if is available. 

Featured list:
	- Use CoreData as cache's storage. When user select one picture, the app in first time search the photo in database, if isn't available, we request the photo at server and save the data on database to next times. 
	- Design Patterns. I've used the singleton pattern to CoreData Connector object.
	- In the view of more info about picture, I've added two gestures recognizers:
		* Single Tap: Shows or hides UI elements to the user can see only the photo. 
		* Double Tap: When user pinch the photo to scale it, with double tap restores the photo at original scale.  
¿Te refieres a porqué un Singleton?

Normalmente me creo un conector para que todas las llamadas a la base de datos pasen por él. En este caso, como en CoreData se necesita el contexto en todas o en la gran mayoría de las operaciones, me ha parecido más cómodo el crearme un singleton, asignarle el contexto al lanzar la aplicación y que ya estuviera disponible dentro del singleton durante toda la ejecución y no tener que ir al AppDelegate cada vez que lo necesitáse. 

Suelo extraer todo lo relacionado con CoreData en el conector y no "ensuciar" el AppDelegate, pero al ser un ejemplo, lo he dejado en el delegado.