• Programming Training

    business_appsInterSource offers live instructor-led courses on all important programming technologies, including C#, C/C#, PHP and Visual Basic. We can also arrange training on many less-known but highly useful languages. We can teach courses on a variety of additional topics; please request an offer if you need a course which is not indicated on the site.

    These live classes are offered both on client sites, at our Geneva training center, and via a Web interface.

  • About Programming

    Within software engineering, programming (the implementation) is regarded as one phase in a software development process, normally following closely on the heels of the requirements gathering phase.

    Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behavior (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.


    Read More
  • Course Details Programming

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

iOS Development with Swift Training

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
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.