Course duration
- 5 days
Course Benefits
- 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
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Private classes are delivered for groups at your offices or a location of your choice.
Course Outline
- Intro
- Swift Versions
- swift.org
- Xcode
- Native vs Cross-Platform
- Structure of an App
- iOS Templates
- View Controllers
- Views
- Storyboards
- Icons
- Object Library
- SwiftUI
- 8. App Delegate
- 9. Scene Delegate
- Lab 1: Hello World
- Swift vs JavaScript
- Tour of Xcode
- Target Settings
- Navigators
- Editor Area
- Inspectors
- Debugging
- Breakpoints
- Debug Area
- Lab 2: Debug
- Classes
- Single Inheritance
- Properties: let/var
- Initializers/deinit
- Functions
- Lab 3: Class/Function
- Structs
- Similarities to Classes
- Differences to Classes
- More on Properties
- wilSet/didSet Observers
- Computed
- OOP in Swift
- Simulator
- UI Design
- Controls (Label, Button, Picker, Slider, Stepper, etc.)
- Views
- Outlets (Lab 4)
- Actions (Lab 5)
- TextField (Lab 6)
- Lab 7: Tip Calculator
- UI Design Comparisons
- Collections
- Array
- Set
- Tuples
- Dictionary
- String
- Operators
- Control Flow
- Ranges
- Loops
- Switch
- Lab 8: Tip Calc: Collections
- UI Design: Auto-Layout
- Constraints
- Variants
- Stack Views
- Lab 9: Tip Calc: UI
- Constraints in Code
- Lab 10: Tip Calc: Code UI
- Swift UI *
- Lab 11: Tip Calc SwiftUI *
- Thinking Swifty
- Error/Throw
- do/try/catch
- Enums
- Optionals
- Operators & Types
- Guard
- Defer
- 8. Access Control
- 9. Typealias
- Lab 12: Enum/Op/Guard
- Unit Testing
- Unit Tests
- Performance Tests
- UI Tests
- Lab 13: Unit Tests
- Patterns
- Extensions
- Protocols
- Delegate
- TableView
- Table
- Cells
- Delegate/Datasource
- Lab 14: TableView
- More TableView
- Delete
- Editing Actions
- Swipe Actions
- UI Design: Advanced TableView
- Refresh Control
- TableView Controller
- Custom Cells
- Controllers
- Navigation
- Segues
- Tab Bar
- Lab 15: Navigation
- Data
- Data Class
- Files
- UserDefaults
- Lab 16: Files
- Closures
- Higher Order Functions
- Closures
- Function Types
- Lab 11: Higher Order Functions
- Server Communication with URLSession
- Lab 11: Server Communication
- JSON & Codable
- Decodable
- Encodable
- CodingKeys
- Lab 13: Server/JSON
- UI Interaction
- Touches
- Gestures
- Animation
- Lab 20: Gestures/Animation
- Notifications
- Local
- Push
- Handling Notifications
- NotificationCenter
- Threading
- Frameworks
- CoreData
- CoreLocation
- MapKit
- Lab 21: Map & Location
- WebView
- WebKit
- SafariKit
- Lab 22: WebView & JavaScript
- Lab 23: More WebView & JavaScript
- App Dev Considerations
- App States
- Git
- Pods
- Icons
- Localization
- Deployment
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following is required for this Apple Swift class:
- OOP experience in Java, Objective-C, C#, or C++.
- macOS experience (and the class must be taken on a Mac).
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.