Get in Touch

Course Outline

Basic Programming Concepts

  • Object-Oriented Programming (OOP) concepts
  • Definition of software
  • Concepts of organized vs. unorganized code structures
  • The importance of software

Why Apple and iOS?

  • The case for iOS
  • Apple's history
  • iOS history
  • Apple's Unique Selling Proposition (USP)
  • What Apple is renowned for
  • User Experience (UX) vs. User Interface (UI)

Development Environment

  • Development environment requirements
  • Xcode and the iOS SDK
  • Apple Developer registration process
  • Common reasons for application rejection
  • Human Interface Guidelines

Xcode iOS Projects

  • Xcode overview
  • Creating an iOS project
  • Running applications on simulators and real devices

Swift Basics

  • Transitioning from Objective-C to Swift: Why Swift?
  • Key features of Swift
  • Variables
  • Constants
  • Hello World in Swift
  • Creating a UILabel programmatically

Image Animation and Loading

  • UIImageView
  • Basic animations for UIView and UIImageView
  • Using Playgrounds
  • Lazy loading of images
  • Lazy properties

Swift Classes and Scenes

  • Creating Swift classes
  • Memory management
  • Strong and weak references
  • Initializers and deinitializers in Swift
  • Protocols, Hashable, and Printable
  • Inheritance
  • Creating scenes
  • Implementing View Controllers
  • Using Playgrounds

Life Cycle and Responder Chain

  • View life cycle
  • Application life cycle
  • Responder chain methods (e.g., touchesBegan, touchesMoved)
  • NSTimer

Adaptive Layout

  • Storyboards vs. XIB files
  • Support for multiple devices
  • Icon sizing and device orientation
  • Building User Interfaces using code
  • Outlets and Actions
  • Protocols: Required and optional
  • Memory management

Notifications and Localization

  • Push Notifications: Silent and standard
  • Localization

Overview of Objective-C

  • Properties
  • Categories
  • Function syntax
  • Property attributes: readWrite and readOnly

Social Media Integration in iOS

  • Facebook integration
  • Twitter integration
  • Mail integration
  • Integrating third-party apps

UI Components in iOS

  • UITextField
  • UITextView
  • UISegmentedControl
  • UISlider
  • UISwitch
  • UIProgressView
  • UIPageControl
  • UIStepper
  • UIScrollView
  • UIPickerView
  • UIActionSheet
  • UIWebView
  • SearchBar

Other Basic Components in iOS

  • Groups and folders
  • Closures
  • Tuples
  • URLSession
  • URLRequest
  • UIAlertView (Deprecated, but included for legacy context)
  • UIActivityIndicatorView
  • Access control: internal, public, private
  • Guard statements
  • Optionals

Threading in iOS

  • Grand Central Dispatch (GCD)
  • NSOperationQueue
  • Main Thread vs. Background Threads

User Interaction

  • Buttons and handlers
  • Pan gesture recognition
  • Tap gesture recognition
  • Custom Table Views
  • Basics of Collection View

Multiple Screen Applications

  • Table Navigation
  • Tabbed Applications
  • Navigation Controllers
  • Presenting controllers and various animations for presenting and pushing controllers

Location Services

  • Position and Altitude
  • Compass Direction

Device Access and Storage

  • File Storage
  • Music Library Access
  • CoreData and SQLite in iOS
  • Key Chain
  • User Defaults
  • PLists
  • NSSearchDomain
  • Directory concepts and app security within NSSearchDomain

Speech Framework

  • Speech to text
  • Text to Speech

MultiPeer Connectivity Framework

  • Sending data between devices
  • Connecting multiple devices

Networking

  • Network Access
  • Serializing and Deserializing JSON
  • REST Web Services
  • Basics of XML Parsing

Submitting an App to the App Store

  • App Store Connect (formerly iTunes Connect)
  • Developer Portal - Provisioning profiles
  • Deployment and distribution
  • Running apps on real devices
  • Uploading apps to the App Store

Projects

  • Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
  • Notes App
  • Contacts App
  • Fetching data from an open API server, populating a table view, displaying details, implementing a search bar, and using CoreData for offline data storage
  • Application of your own idea

Requirements

You must have prior experience with at least one programming language.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories