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.  
Suelo usar copy para los NSString, NSNumber, ...objetos que no son demasiado complejos y solo tienen un valor. La diferencia entre strong y copy es que si hacemos un copy, puedo asignar el valor del objeto a otro objeto y modificarlo y el objeto original seguiría intacto y el retain count no se incrementaría, sería una especie de freeze al objeto. 

En este caso, voy modificando el array cada vez que solicito las siguiente página de fotos y no hay otras clases que hagan uso de esta propiedad, por lo que me aseguro de que nadie me va a modificar el valor del array, por eso uso strong. Pero con copy gano en memoria ya que no iría reteniendolo en cada asignación. 

En cualquier caso, las dos opciones me valdrían.