Phunware-iOS-Homework
Interview Homework Project (iOS)
Features
- The application performs the necessary network calls to consume the provided JSON feed.
- The application displays the feed in a master/detail fashion.
- The application posseses a scrollable view to view all events, when tapped leads to a detail view.
- The schedule times are represented in the user's timezone
- While viewing an event, a user can share the event, an record it in the Remainders app
- The application runs on iPhone and iPad on all orientations
- The application persists the data fetched from the JSON feed, so it can function without network connection.
- BONUS
- The application implements Core Spotlight Integration
- The application implements Deep Linking
Classes
PHADataFetcher
: this class is in charge of fetching the data from the provided JSON feed and converts the obtained dictionaries intoPHAEvent
objects, which are stored into aPHAEventList
instance.PHAEvent
: this class is in charge of mapping the keys of a dictionary obtained from the JSON feed into properties of an object typePHAEvent
. This class inherits from theMTLModel
class and has a contract with the<MTLJSONSerializing>
delegate.PHAEventList
: this class is in charge of storing in aNSArray
all thePHAEvent
objects converted from the dictionaries of the JSON feed. This class inherits from theMTLModel
class and has a contract with the<MTLJSONSerializing>
delegate.PHAEventStoring
: this class is in charge of the persistance of the data stored in thePHAEvent
objects. This class inherits from theRLMObject
class.PHASpotlightHelper
: this class is in charge of implementing the methods from<MobileCoreServices/MobileCoreServices.h>
to allow Core Spotlight Integration.
Pods Libraries Used
- AFNetworking
- Mantle
- Realm
- SDWebImage