This is a movies app displaying box office and top rental DVDs using the Rotten Tomatoes API.
Time spent: 17hrs
- User can view a list of movies. Poster images load asynchronously.
- User can view movie details by tapping on a cell.
- User sees loading state while waiting for the API.
- User sees error message when there is a network error: http://cl.ly/image/1l1L3M460c3C
- User can pull to refresh the movie list.
- All images fade in.
- For the larger poster, load the low-res first and switch to high-res when complete.
- All images should be cached in memory and disk: AppDelegate has an instance of
NSURLCache
andNSURLRequest
makes a request withNSURLRequestReturnCacheDataElseLoad
cache policy. I tested it by turning off wifi and restarting the app. - Customize the highlight and selection effect of the cell.
- Customize the navigation bar.
- Add a tab bar for Box Office and DVD.
- Add a search bar: pretty simple implementation of searching against the existing table view data.
Shows: List of movies, view details, loading state, refresh to pull, all images fade in, load low res first, custom highlight color for cell, custom navigation bar color and text, tab for box office and dvd, search bar.
This was gif was taken with 100% packet loss. Shows: User sees error message when there is a network error. All images are cached.