Objectives
- Develop a thorough understanding of the Swift programming language
- Understand iOS application development architecture
- Gain familiarity with Xcode and other Apple development tools
- Design app UIs using storyboards
- Build a network connected app
- Use best practices for targeting both iPhone and iPad devices
Prerequisites
- Experience with an object-oriented programming language such as Java, Objective-C, C#, or
- C++
- Familiarity with using OS X and an iOS-based device
Duration
5 Days
Outline for iOS 10 Development with Swift Training
1. Introduction
- iOS Devices
- iOS Operating System
- Programming Languages
- Xcode and Other Tools
- iOS SDK
- Apple Developer Program
2. Swift Fundamentals
- Introduction
- Playgrounds
- Statements
- Constants and Variables
- Basic Types
- Conditionals and Loops
- Optionals
- Functions
- User Defined Types
- Automatic Reference Counting (ARC)
3. Unit Testing
- Introduction
- XCTest Framework
- Xcode Service
4. iOS App Architecture
- Introduction
- Model-View-Controller (MVC)
- View Controllers
- Storyboards
- Outlets
- Actions
5. Auto Layout
- Introduction
- Autoresizing Masks
- Constraints
- Insufficient Constraints
- Misplaced Views
- Conflicting Constraints
- Content Hugging and Compression Resistance
- Variations
6. More Swift
- Computed Properties
- Property Observers
- Inheritance
- Access Control
- Type Casting
- Initialization
- Deinitialization
- Collections
7. Storyboards
- Scenes
- Segues
- Moving Data Between Controllers
- Navigation Controller
8. Protocols
- Introduction
- Optional Members
- Loose Coupling
9. Table Views
- Introduction
- Styles
- Data Sources and Delegates
10. More Swift
- Extensions
- Function Types
- Closures
11. Error Handling
- Introduction
- Representing and Throwing Errors
- Handling Errors
- Cleanup Actions
- Guards
12. Networking
- URL Loading System
- NSURLSession
- Asynchronous Downloads
- Strings and Images
- JSON
- Multithreading
13. Local Storage
- User Defaults
- Sandboxing
- Working with Files
- Archiving
- SQLite
- Core Data
14. Multitouch, Taps, and Gestures
- Introduction
- Touches
- Taps
- Notification Methods
- Gesture Recognizers
15. Drawing
- Core Graphics and Quartz 2D
- Points, Coordinates, and Pixels
- Graphics Context
16. Animation
- Core Animation
- UIView Core Animation Blocks
- Animation Curves
- Transformations
17. App States
- Introduction
- Best Practices
- States
- Lifecycle
- Moving to the Background
- Memory Usage
- Background Execution
18. Notifications
- Local Notifications
- Push Notifications
19. Core Location Framework
- Basics
- Location Accuracy
- Distance Filter
- Calculating Distances
- Compass
- MapKit
20. Localization
- Introduction
- Resources
- Language and Region
- Locale
- Text, Dates, and Numbers
21 Running on a Physical Device
- Introduction
- Project Configuration
- Launching an App
22. Performance and Power Optimization
- Introduction
- Measuring Performance
- Responsiveness
- Memory Usage
- Networking
23. Deployment
- Icons and Launch Images
- Archiving
- Distribution
- iTunes Connect