BlackSwan iOS Fever Release by Donald King
Development approach used for this ExamYikes! project
• I’ve used cocoapods dependency management to support with boilerplate routine like network requests. For this I’ve used AFNetworking 2.5.3
• MBProgressHUD 0.9.1: used to display loading indicator while network request is in progress.
• I've implemented this solution following the highest coding standard using the latest iOS technologies like AutoLayout and SizeClasses to make it work on iPhone and iPads and smoothly.
• I've followed specific code formatting and comments standards, which i'd be happy to go through with BlackSwan if they could incorporate into their development process as I’ve found from experience that this makes code easily readable.
• I’ve used Dependency Injection where necessary.
• I've done a code review of the code to ensure its in high standard
• I've written unit test to guarantee quality of the service – EYConnectionManagerTests and EYAPIGetCoursesTests. In total, both a total of 6 test cases, which covered about 90% testing, combined.
• I've done profiling using Apple's profiler and no memory leaks / retain cycle.