Skip to content
🎒 Stanford CS193P 2017
Swift
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
programming-assignment
programming-project
reading-assignment
slides
.gitignore
README.md

README.md

Stanford CS193P 2017

Lecture 1

Slides Reading Assignment

  • Creating a project in XCode 8 (Calculator)
  • Building a UI
  • The iOS Simulator
  • Print (outputting to the console using \() notation)
  • Defining a class in Swift, including how to specify instance variables and methods
  • Connecting properties (instance variables) from our Swift code to the UI (outlets)
  • Connecting UI elements to invoke methods in our Swift code (actions)
  • Accessing iOS documentation from our code
  • Optionals (?, unwrapping implicitly by declaring with !, and unwrapping explicitly with ! and if let)

Lecture 2

Slides Programming Assignment

  • MVC
  • struct vs. class (mutating, etc.)
  • public versus private API
  • More examples of Optional
  • Dictionary<KeyType,ValueType>
  • enum
  • Associated values
  • Switch
  • Functions as types
  • Closure syntax for defining functions “on the fly”
  • UIStackView
  • First peek at Autolayout (stick things to the edges)

Lecture 3

Slides

  • What are Optionals really?
  • Tuples
  • Range
  • Data Structures, Methods and Properties
  • Array, Dictionary<K,V>, String, et. al.
  • Initialization
  • AnyObject, introspection and casting (is and as)
  • UserDefaults
  • assert

Lecture 4

Slides

  • Custom Views

Lecture 5

Slides Reading Assignment Programming Assignment

  • Demo (FaceIt)
  • Gestures
  • Multiple MVCs

Lecture 6

Slides

  • Multiple MVCs
  • View Controller Lifecycle
  • Time Permitting
You can’t perform that action at this time.