iOS Basics

iOS Basics
=====

—–
Course Id: MOBI-IOSB
Duration: 40 Hours

Overview
—–
* This course teaches iOS Development using Objective-C and Xcode 10
* Developers learn to build and maintain native iOS applications in Objective-C for iPhone and iPad
* Participants learn skills in UI design and application development using Xcode

Pre-Requisites
——-
* No programming experience is required
* Keen Interest to learn android app development

Training Objectives
——
All participants learn to:
* Basics of iOS architecture
* Understand syntax, types, and flow control of Objective-C
* Basics of iOS programming concepts
* Perform Unit Testing with XCTest
* Creating application layouts and developing complete apps
* Integrate UI Design with Interface Builder
* Working on notification services on iOS
* Use blocks for passing code
* Utilize collections for storing data
* Understand protocols for defining roles
* Implement categories to extend classes
* Incorporate design Patterns to bind them all

Course Structure
—–
* We provide more focus on hands-on in our technical courses (typically 80% hands-on/20% theory)
* Students get the capability to apply the material they learn to real-world problems

Materials Provided
—–
* All participants receive
* PDF of slides
* PDF of handson
* Access to instance with lab environment

Software Requirements
—–
Any of the following
* Any current internet browser
* vnc client
* rdp client

Hardware Requirements
—–
* Processor: 1.2 GHz+
* RAM: 512 MB+
* Disk space: 1 GB+
* Network Connection with low latency (<250ms) to Internet

## Daywise Course Outline
—–
## Day 1
—–
* Unit 1 : Introduction to iOS
* Unit 2 : Components of iOS Platform
* Unit 3 : Introduction to Objective-C
* Unit 4 : Directories, Files And Collections

## Day 2
—–
* Unit 5 : Beyond Basics in Objective-C
* Unit 6 : Unit Testing
* Unit 7 : UI with Interface Builder
* Unit 8 : Application Patterns

## Day 3
—–
* Unit 9 : UI Design
* Unit 10 : Navigation Controller
* Unit 11 : Table Views
* Unit 12 : Universal Apps

## Day 4
—–
* Unit 13 : CoreData
* Unit 14 : Multitouch, Taps and Gestures
* Unit 15 : Drawing And Animation
* Unit 16 : App States

## Day 5
—–
* Unit 17 : Notifications
* Unit 18 : CoreLocation
* Unit 19 : MapKit
* Unit 20 : API Design

## Detailed Outline
—–
Unit 1 : Introduction to iOS
* What is IOS?
* History of IOS
* Pre-requisite for IOS development
* IOS SDK
* Xcode
* Instruments
* Simulator
* IOS architecture overview

Unit 2 : Components of iOS Platform
* Introduction to Cocoa Framework
* IOS architecture layers
* Core OS layer
* Core services layer
* Media layer
* Cocoa touch layer
* Core data and database storage
* Smart features of IOS platforms

Unit 3 : Introduction to Objective-C
* Intro to Objective-C
* Data Types, Variables & Constants
* Strings, Numbers, Bools
* Literals
* Type Casting
* nil
* Flow Control
* Loops
* Switch
* Logical Operators
* Functions
* Parameters
* Return Values
* Blocks
* Completion Handler

Unit 4 : Directories, Files And Collections
* Introduction
* Pathnames
* Directories
* Files
* File I/O
* UserDefaults
* Arrays
* Sets
* Dictionaries
* Enumerations

Unit 5 : Beyond Basics in Objective-C
* Protocols
* Properties
* Categories
* Selectors
* Exception Handling
* Blocks
* Understanding class and objects
* Understanding x-code and hello world
* Inheritance
* Access control in inheritance
* Polymorphism
* Encapsulation
* Dynamic binding
* Exception handling
* Fast enumeration

Unit 6 : Unit Testing
* Testing iOS application
* Using XCODE for testing and Instruments
* XCTest Framework
* Asserts
* Performance Testing
* Xcode Service
* How to create a new test case
* Understanding XCtest
* Pretty function
* Auto action testing IOS APPS

Unit 7 : UI with Interface Builder
* Introduction
* View Controllers
* Views
* Outlets
* Actions
* Asset Catalogs
* App Icon
* Windows and Views
* View Types
* Responder Chain
* View Resizing
* Screen Size Considerations
* Autosizing
* Auto Layout

Unit 8 : Application Patterns
* Model-View-Controller (MVC)
* Model-View-Presenter (MVP)
* Model-View-View-Model (MVVM)
* Target-Action Pattern
* Subclassing
* Delegation
* Protocol Oriented Programming (POP)

Unit 9 : UI Design
* Constraints
* Missing/Insufficient Constraints
* Misplaced Views
* Conflicting Constraints
* Content Hugging
* Compression Resistance
* Storyboards
* Introduction
* Scenes
* Segues
* Moving Data Between Controllers

Unit 10 : Navigation Controller
* Introduction
* Root View Controller
* Navigation
* Navigation Bar Controller
* Table View Controller
* Customizing Cells in Table View
* Tab Bar Controller
* Split View Controller
* Segues and Passing Data
* Advanced controls in IOS

Unit 11 : Table Views
* Overview
* Delegates and Data Sources
* Table Styles
* Cell Styles
* Prototype View Cells
* Navigation
* Static Table Views

Unit 12 : Universal Apps
* Introduction
* UI Considerations
* Full Screen
* UI Variants
* UIPicker View

Unit 13 : CoreData
* Introduction
* Core Data Services
* Demo of core data
* Concept to understand core data
* Entities
* Relationships
* How core data works
* Code Generation
* Options for creating IOS DB
* Plist file as DB storage
* NS user defaults as storage
* SQlite for data storage

Unit 14 : Multitouch, Taps and Gestures
* Touches
* Gestures
* Gesture Recognizers

Unit 15 : Drawing And Animation
* Introduction
* Points, Coordinates, Pixels
* CoreAnimation
* Animation Blocks
* Transformations

Unit 16 : App States
* Introduction
* AppDelegate
* Considerations and Limitations
* Background Execution

Unit 17 : Notifications
* Overview
* Permission
* Local Notifications
* Push Notifications
* NS notification center
* Trigger notification

Unit 18 : CoreLocation
Core location framework
Core location-Demo
* Location Accuracy
* Distance Filter
* Location Updates
* Calculating Distances

Unit 19 : MapKit
* Introduction
* MKMapView
* Regions
* Map Type
* Location
* Annotations

Unit 20 : API Design
* Server calls
* Completion Blocks
* User Feedback
* Handling UI Updates
* Notification Center

Scroll to top