Skip to content

Latest commit

 

History

History

01-intro

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Introduction, programming and Swift basics

Slides

Playground

Topics

  • variable declarations - var, let
  • type annotations
  • integers and floats - casting and bounds
  • tuples
  • optionals / optional binding / nil coalescing
  • asserts / preconditions
  • range operators
  • arrays / sets / dictionaries
  • flow control - if, switch
  • calling functions, passing parameters, returning values, default values, optional chaining
  • closures - syntax, type inference, shorthand args, trailing closures, escaping closures
  • enums - associated values, raw values, case matching, if case
  • classes and structures
    • value types / reference types - difference
    • properties - stored, lazy, default, computed, readonly, property observers
    • methods - mutating
    • init/deinit
  • nested types
  • class extensions
  • protocols
  • protocol extensions
  • generics
    • type constraints
    • associated types
    • extensions with where

Resources

Name Description
The Swift programming language (ebook) The Swift bible - complete description of the language, a must read!
Online Swift guide Handy Swift language concepts reference
Swift standard library reference Standard library documentation. Lots of useful gems there
API design guidelines Lots of tips about how to structure not only an API
Swift style guide How to format Swift code

Assignments for next lecture

Design wireframes for Movie App

Use https://www.themoviedb.org as a data source. App must be able to:

  • Show list of
    • most popular movies
    • now playing movies
  • Search movie by name
  • Show movie detail including
    • basic info (name, image, year)
    • actors
    • images/trailers
    • reviews
  • Search for actor by name
  • Show actor detail including
    • basic info (name, age, picture)
    • movies
  • Handle login and display user profile
  • Show list of user's favourite movies
  • Add movie to favourites

And remember, you will need to implement what you design!

Read the book

The Swift programming language