This isn't tutorial, just be the collection of tutorials. If you wanna have  a walkthrough of iOS development, follow these steps. Please do not forget to complete attached assignments.

Step 1: Understand swift syntax

Tip: Just need to answer my above questions.

For more detail

Step 2: Get started with UI

  • Pre: Try to create XCode project (Single view application)

  • 2.1 Simple elements:

    • I generally classify simple UI elements into 3 groups:
      • Not interact with user: UILabel, UIImageView
      • Simple UIControl handled by IBActionUIButton, Switch, Stepper, Slider, Segment…
      • Simple UIControl handled by delegate (and IBAction): UITextField, TextView, UIWebview v.v…
    • To getting started with these elements, you have to know:
      • How to create IBOutlet, what is IBOutlet?
      • How to create IBAction, what is IBAction, how to know if a control has IBAction or not?
      • How to implement delegate, and what for?

TIP: Just need to answer my above questions.

  • 2.2 Autolayout:

    • Autolayout: flexible layout UI element  with all of device sizes (have to practice autolayout for all of your assignment or demo, because it’s not difficult to use, but maybe make beginner confused.)
    • “Size-Classes”: Different layouts for different sizes of device.


This is too hard for imaging so you’d better watch video instead of reading tutorial


Document tutorial:

  • 2.3 Understand data type:

    • Single element: Int, Double, Float, String, Date, Bool, Data
    • Set of elements: Array, Dictionary
  • 2.4 ImageAsset

    • Understand difference between point and pixel in iOS
    • What are abc.png, abc@2x.png, abc@3x.png?

Assignment 01: Create an calculator like this:


Step 3: Advance of UI element:

Assignment 02: Create karaoke application. Download the requirement and resources from here.

Step 4: Connect to server and local database

Assignment 03: Apply core data to karaoke application. Download the requirement and resources from here.

Assignment 04: Create food recipes using API. Download the requirement and resources from here.

Step 5: Advance