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.
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.
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.
Tap Bar Controller
Split ViewController, Tab bar, Web Views, WebView delegates, Tokens, TextField, Text field delegates, Segmented control, Picker controller, Safari controller, keyboard.
Size classes, Constraints, Stack Views, Margins, Adding constraints in Interface builder, Bezier path, Image picker, Camera, Image picker Delegates.
Closures,URL builder, NSURL Components, Request type, Sending request, NSURLSession, JSON, NSJSONSerilization, Parsing JSON, Downloading data and displaying, main Threads, Serial threads.
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
Reactive Programming (RxSwift)