Fundamental Computer Science skills; Object-oriented programming basics; Basic experience in a programming language.
We do not provide a computer for the class. Please, make sure to bring your own computer with the latest version of Xcode already installed. You can download the latest version from the Mac AppStore or from the Apple Developer Website.
Our training days are typically eight hours long. Usually from 9am to 6pm with lunch provided. For each topic we are sure to be both informative and interactive. We cover the key concepts first and then complete exercises that engage what we have learned. We strive to make our training relevant and unique. Therefore we tailor each training classes to the needs of the students, creating variety from class to class.
For more information check our Frequently Asked Questions.
We are passionate about iOS applications and enjoy sharing this passion with others. Our training is designed for developers interested in using the latest technologies to create innovative cutting edge applications that enhance the user experience. All of our training material is written in house and consistently updated. We also offer follow up consulting to all our clients to ensure that the material learned in training is used effectively. Ultimately, our goal is to provide an unparalleled tight knit learning environment that allows our clients to continue to push iOS development further.
Swift Constants and Variables. Swift types. Enumerations, Structures, Classes. Methods. Stored Properties, Computed Properties, Property Observers. Extensions. Protocols. Protocol Oriented Programming. Closures and Blocks. Memory management. Automatic Reference Count (ARC).
UIKit
Views. View Controllers. Tab Bar Controller. Navigation Controller. Containment View Controller. Auto Layout. View Controller Adaptivity. Size Classes. Custom View Controller Transitions. Scrollviews. Table views. Custom tableview cells. Collection views. Collection view layout. Application background modes. Restoring the application from the background. UI preservation and restoration. UIView. Scroll View. Responder chain. Handling Events. Target-Action Mechanism. Action Methods. Cocoa Design Patterns. Model-View-Controller. Delegation. Notifications
Development Tools
Xcode. Interface Builder. Swift Playground. XIB files and Storyboard. Xcode Workspaces. Xcode Schemes.
Performance Analysis and Debugging Techniques
LLDB. Static Analyzer. Xcode gauges. Live rendering. Quicklook. Instruments. Detecting memory leaks. Application performance analysis. Zombies. Performance optimization. Xcode Unit Testing. Xcode UI Testing. Low Memory Warnings.
Multi-threading
NSOperation and NSOperationQueue. Closures and Grand Central Dispatch. Dispatch queues.
Geolocation & Maps
Location Manager. Reverse and forward geocoding. Heading-Services. Visit Monitoring. iBeacon and beacon regions. MapKit. Map regions. Turn-by-turn navigation. Annotations and annotation views. Callout Views. Launching your app from Maps. Map Items.
Text Manipulation
Text Kit. Attributed strings. Dynamic Fonts. Importing custom fonts. Autolayout for text containers.
Localization
Localize your app to different languages. NSLocale. NSLocalizedString. Localizing XIB files and Storyboard. XLIFF format.
Core Graphics
Graphic context. Graphic states. Color Spaces. Transformations. Clipping Paths. Gradients. Drawing text.
Core Animation
Layers. Shape Layers. Transform Layers. Replicator Layers. Text Layers. Layer Transformations. Implicit animations. Explicit animations. Keyframe animations. Animation groups. View Transitions. Animation types. Animation timing and duration. View animations. Custom View Controller Transitions.
Model & Data Management
Core Data. Managed Objects and Managed Object Context. Managed Object Model. Persistent Store Coordinator and Persistent Store. Fetching requests. Fetched Results Controller. Light-weight migration and standard migration. Core Data and multi-threading. Multiple managed object contexts.
Managing files in your app. Accessing the application bundle. Accessing other directories. Manipulating files. NSFileHandle. NSFileManager. Preferences in your application. Saving preferences. Using the system settings.
Networking
App Transport Security. NSURLSession. XML and JSON Parser. In-app mail and messages. Web Kit. Working with URLs. Create a simple web browser. Reachability.
Multi-touch
UITouch. Gesture recognizer.
Multimedia
AVFoundation. AVCaptureSession. Input and output devices. Playing Sounds. Metering sound. Recording sounds. Playing the iPod playlist. Playing video in your app. Video processing with Core Image. Image Picker Controller.
Sensors
Core Motion. Accelerometer, gyroscope, barometer, step counter, activity manager. Core Bluetooth. Central and Peripheral. Service and characteristics.