iOS

Syllabus

Class 1

Introduction to IOS Programming

Swift language features, iOS SDK, Installing Xcode, Creating a project, Project Compilation, Running a simulator, Patterns (MVC & MVVM), Interface Builder, View Objects, Brief introduction on Auto Layout, play ground, Type inference.

Class 2

Class 3

The Swift Language Basics

Properties, Strings, Arrays, Dictionaries, Methods, Classes, if - else, looping, switch, Structs, Enum, Extensions, Protocols, Initializers, Sub classing, Optionals, Memory Management, Type Alias, Computed Properties, Classes vs Structs.

Playing With Views and App Life Cycle

Views types, Screen layout, UiView, Labels, Buttons, Outlets, Actions, Brief intro to Constraints, App life cycle, Segues, Navigation Controller, View controller types, Programmatically creating Views, labels & buttons.

Class 4

Table Views 

Introduction to Table Views, UITable View Delegates, UITable View Data source, UITableView cells, Create a To Do application, Creating and retrieving table cells, reusing Table cells, Editing in table view, Moving rows, Adding rows, Collection View topics, Closures, Basic animation Animation, Core animation, UI Gesture recognizers.

Class 5

Class 6

Class 7

Class 8

Class 9

Tap Bar Controller

Split ViewController, Tab bar, Web Views, WebView delegates, Tokens, TextField, Text field delegates, Segmented control, Picker controller, Safari controller, keyboard.

Auto Layout

Size classes, Constraints, Stack Views, Margins, Adding constraints in Interface builder, Bezier path, Image picker, Camera, Image picker Delegates.

Web Services 

Closures,URL builder, NSURL Components, Request type, Sending request, NSURLSession, JSON, NSJSONSerilization, Parsing JSON, Downloading data and displaying, main Threads, Serial threads.

Core Data

Local storage, Entities, NSManagedObjectModel, NSPersistantStoreCoordinator, NSObjectContext, Updating items, Parent child relationship, Access control.

Debugging and Testing

Developer account, profile creating, Developer cert creation,Logger, Instruments, Memory allocation, View Heirachy, Break points, Retain cycles, PODs, UITests, Continuous Integration.

Advanced iOS Programming Topics 

  • KeyChain

  • VISION

  • Media Player

  • MapKit

  • ARKit

  • Functional Programming

  • Reactive Programming (RxSwift)

  • Redux