Skip to content

Latest commit

 

History

History
 
 

02-app-basics

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Introduction, programming and UI basics

Slides

Topics

  • organizing code
    • code units with defined inputs and outputs
    • using classes, structs and protocols
    • ticket machine example
  • Xcode basics
    • navigation
    • interface builder
    • code editor
  • UIKit components
    • buttons
    • images and asset catalogs
    • labels
    • text field
    • activity indicator
    • stack views
    • navigation + tabbar + nav and bar button items
    • table view
    • visual effect views
    • page view controller

Resources

Name Description
High-level Xcode overview Starting point for looking around in Xcode
Autolayout guide All you need to know about autolayout
User interface catalog In depth guide about most of UIKit components
Views and Windows guide A bit outdated, but contains lot of useful info
Asset catalog secrets Features of asset catalogs

Assignments for next lecture

ATM implementation

Using playgrounds, write ATM implementation. Include all components and functionality in the list below. Write it in similar way as the ticket machine example.

  • Components
    • card reader
    • touchscreen
    • pin pad/keyboard
    • banknote dispenser (assume only 100 CZK bills)
    • receipt printer
    • remote validation logic (connection to the bank, used for checking if user has enough balance)
  • User will insert card, type his pin, select amount to withdraw, receives cash and receipt
  • Take care of error states, at least:
    • invalid pin
    • not enough cash on users account
    • not enough cash in banknote dispenser
    • out of paper in receipt printer
    • cannot insert two cards at once
  • Use protocols to specify interfaces between components

Read all the links in Resources section

Simple contact list app (Optional)

  • Show hardcoded list of contacts in table view
  • Allow deleting contacts
  • Tap on contact to go to detail
  • Delete contact from here
  • Edit contact info
  • Contact will have
    • name
    • surname
    • phone number
    • email