Skip to content
No description, website, or topics provided.
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.
Course-Project
Resources
Topics/02. iOS-Views-ViewControllers-Storyboards
demos
.gitignore
Notes.md
README.md
schedule.html

README.md

Repository for the "Mobile applications for iOS" course

Course description

The "Mobile applications for iOS" course introduce the fundamental and advanced principles and know-how for creating applications for iPhone and iPad. The course will cover both Objective-C and Swift programming languages in detail, with a bit of C. Some of the topics in the course are: Graphics and Animations, Storyboards and transitions, CoreData and SQLite, Touch and Gestures, building a sustainable and reusable architecture, dependecy injection and more

Topics

Introduction

  1. Course introduction

Swift and Objective-C Core

  1. Swift and Objective-C fundamentals
    • Data types
    • let vs var
    • Conditionals
    • Switch-case
    • Loops: for, repeat-while
    • Data structures: Arrays, Dictionaries, Sets (both mutable and immutable)
    • Strings
    • Errors and error handling (do-try-catch)
    • Functions
      • Parameters, return types
      • LAMBDAs
  2. Classess, structures and enums
    • Enumerations
    • Creating classes
    • Class initializers
    • Methods, properties (getters, setters)
  3. Class Inheritance
    • Inheriting classes
    • Overriding parent methods/properties
    • Polymorphism
  4. Protocols, extensions
    • Creating protocols
    • Conforming to protocols
    • Using extensions
    • Pros from extensions
  5. Memory Management
    • Reference counting overview
    • Automatic Reference Counting (ARC) in swift
    • strong and weak references
  6. Asynchronous operations in iOS
    • delegation pattern
    • Using LAMBDAs
    • Updating the UI from async operation (Dispatch Queues)
  7. Objective-C fast track
    • Data-types
    • Loops
    • Data structures
    • Functions
    • Classes, class inheritance, protocols, extensions
  8. Workshop

iOS Basics

  1. Introduction to iOS Development
    • Cocoa Touch overview
    • Objective-C and
  2. 101 iOS Application
    • ViewControllers
    • AppDelegate
  3. Storyboards and segues
    • Creating segues and unwinding segues
    • Transfering data between ViewControllers
  4. Workshop

UI

  1. Views and controls
    • Built-in views (UILabel, UIButton, etc...)
    • IBOutlets and IBActions
    • Creating custom views
  2. Navigation controller and navigation between ViewControllers
    • Segues recap
    • Navigation controllers (regular, tabs, etc...)
    • show, present view controllers
  3. Tabs, drawers, etc...
    • Creating tabs and drawers
  4. Notifications
    • Creating user notifications
  5. Gestures and Touch
    • Types of gestures (tap, pinch, rotation, etc...)
    • Adding gesture recognizers
  6. Workshop

Data

  1. Creating HTTP requests in iOS application
    • HTTP recap
    • Creating HTTP requests with URLSesssion
      • GET, POST, PUT, DELETE
    • Building an HTTP layer
      • Class for abstraction of HTTP requests
  2. SQLite in iOS application
    • Adding SQLite database into an iOS application
    • Querying the database with native SQL queries
    • Querying the database with an ORM
  3. CoreData in iOS application
    • What is CoreData?
    • Using CoreData
  4. Workshop

Architectural

  1. Application Lifecycle
    • Handling the application state
    • Save app state
    • Cleanup on app close
  2. Model-View-Controller in iOS
    • What is MVC?
    • Implementing MVC in iOS applications
    • Separating the application in layers
      • Data layer, service layer, controllers, views
  3. Dependecy injection
    • Dependency injection recap
    • Implementing Dependency injection in iOS apps
  4. Unit testing
    • Unit testing recap
    • Creating unit tests for each layer of the application
  5. Workshop

Graphics & Animations

  1. CoreGraphics
    • Drawing in iOS
    • Using the Canvas
    • Implementing simple game
  2. Animations in iOS application
    • Using CoreAnimation
    • Using UIView.animate()
  3. Workshop

Device APIs

  1. Camera
  2. Geolocation
  3. Phonebook
  4. Accelerometer
  5. Workshop
You can’t perform that action at this time.