jwoogerd / tip_calculator

Pre-assignment for Codepath Swift class

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pre-assignment - please review

jwoogerd opened this issue · comments

My pre-assignment is finished, please review. /cc @codepathreview

Good work. This prework is a preview of our weekly project process. Generally, weekly projects take between 5-10 hours to complete the required features and an additional 5-10 hours to complete the optional features. In general, we've seen that the more hours you log, the quicker you improve your proficiency with iOS.

The purpose of this project was to begin to explore Xcode and to get a broad overview of iOS development using Swift. For example, in this project, we explored the following concepts:

  • Code styling in Swift. You can find some code styling guides here:
  • Views are created in Storyboard, Interface Builder, or programatically, but they have the same goal: instantiate, initialize, and layout view objects. We use IBOutlets to give names to view objects, similar to giving unique ids to divs in HTML.
  • We registered for touch events, which can be done programatically or via IBActions.
  • We explored NSUserDefaults, one of the four persistence strategies in iOS.
  • View controllers have a set of methods that are called when it loads, appears, or disappears. These are called view controller lifecycle methods.
  • Do your views look good on iPhone 4, 5, and 6? Do your views look good on both iOS 6 vs iOS 7/8? We will cover in class how to use Auto Layout to robustly design your views for different screen sizes and OS versions.
  • After this assignment, you should understand the purpose of IBOutlets and IBActions as well as the basics of designing views and programmatically interacting with the views from the controller.

The best thing that you can do to prepare for the class is to start thinking of app ideas that you're interested in building in groups of 3. For example, you can think of apps that streamline some process at work or it can be something for fun for your coworkers. You can also build the next killer dating app or we'll also have some non-profit apps you can work on. Having an app in mind is the best way to explore the iOS framework in a very focused way.

You should also download and audit popular iOS apps like Pinterest, Uber, Tinder, etc. There's a designer app called capptivate that showcases mobile patterns in a bunch of other apps.