iOS Development with Swift Training

Course duration

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
Available Delivery Methods
Public Class
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Private Class
Private classes are delivered for groups at your offices or a location of your choice.

Course Outline

  1. Intro
    1. Swift Versions
    2. swift.org
    3. Xcode
  2. Native vs Cross-Platform
  3. Structure of an App
    1. iOS Templates
    2. View Controllers
    3. Views
    4. Storyboards
    5. Icons
    6. Object Library
    7. SwiftUI
    8. 8. App Delegate
    9. 9. Scene Delegate
  4. Lab 1: Hello World
  5. Swift vs JavaScript
  6. Tour of Xcode
    1. Target Settings
    2. Navigators
    3. Editor Area
    4. Inspectors
  7. Debugging
    1. Breakpoints
    2. Debug Area
  8. Lab 2: Debug
  9. Classes
    1. Single Inheritance
    2. Properties: let/var
    3. Initializers/deinit
    4. Functions
  10. Lab 3: Class/Function
  11. Structs
    1. Similarities to Classes
    2. Differences to Classes
  12. More on Properties
    1. wilSet/didSet Observers
    2. Computed
  13. OOP in Swift
  14. Simulator
  15. UI Design
    1. Controls (Label, Button, Picker, Slider, Stepper, etc.)
    2. Views
    3. Outlets (Lab 4)
    4. Actions (Lab 5)
    5. TextField (Lab 6)
  16. Lab 7: Tip Calculator
  17. UI Design Comparisons
  18. Collections
    1. Array
    2. Set
    3. Tuples
    4. Dictionary
    5. String
    6. Operators
  19. Control Flow
    1. Ranges
    2. Loops
    3. Switch
  20. Lab 8: Tip Calc: Collections
  21. UI Design: Auto-Layout
    1. Constraints
    2. Variants
    3. Stack Views
  22. Lab 9: Tip Calc: UI
  23. Constraints in Code
  24. Lab 10: Tip Calc: Code UI
  25. Swift UI *
  26. Lab 11: Tip Calc SwiftUI *
  27. Thinking Swifty
    1. Error/Throw
    2. do/try/catch
    3. Enums
    4. Optionals
    5. Operators & Types
    6. Guard
    7. Defer
    8. 8. Access Control
    9. 9. Typealias
  28. Lab 12: Enum/Op/Guard
  29. Unit Testing
    1. Unit Tests
    2. Performance Tests
    3. UI Tests
  30. Lab 13: Unit Tests
  31. Patterns
    1. Extensions
    2. Protocols
    3. Delegate
  32. TableView
    1. Table
    2. Cells
    3. Delegate/Datasource
  33. Lab 14: TableView
  34. More TableView
    1. Delete
    2. Editing Actions
    3. Swipe Actions
  35. UI Design: Advanced TableView
    1. Refresh Control
    2. TableView Controller
    3. Custom Cells
  36. Controllers
    1. Navigation
    2. Segues
    3. Tab Bar
  37. Lab 15: Navigation
  38. Data
    1. Data Class
    2. Files
    3. UserDefaults
  39. Lab 16: Files
  40. Closures
    1. Higher Order Functions
    2. Closures
    3. Function Types
  41. Lab 11: Higher Order Functions
  42. Server Communication with URLSession
  43. Lab 11: Server Communication
  44. JSON & Codable
    1. Decodable
    2. Encodable
    3. CodingKeys
  45. Lab 13: Server/JSON
  46. UI Interaction
    1. Touches
    2. Gestures
    3. Animation
  47. Lab 20: Gestures/Animation
  48. Notifications
    1. Local
    2. Push
    3. Handling Notifications
    4. NotificationCenter
  49. Threading
  50. Frameworks
    1. CoreData
    2. CoreLocation
    3. MapKit
  51. Lab 21: Map & Location
  52. WebView
    1. WebKit
    2. SafariKit
  53. Lab 22: WebView & JavaScript
  54. Lab 23: More WebView & JavaScript
  55. App Dev Considerations
    1. App States
    2. Git
    3. Pods
    4. Icons
  56. Localization
  57. Deployment

Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

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).
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.