The Swift Programming Language

מק"ט: #51043 | משך קורס: 24 שעות אק'

Swift is an exciting, new programming language for the rapid development of iOS and OS X apps. It combines the best features of languages like Python, Ruby and Java to create a powerful modern language that's great to work with.
On this course we will logically take you through the Swift programming language, enabling you to focus on the code and how you can apply it in the real world. Step by step you will develop your Swift knowledge, with hands-on labs allowing you to reinforce what you have learned after each step. At the end you will apply your Swift knowledge by writing a simple iOS app.

הקורס פעיל לקבוצות מטעם ארגונים בלבד, ניתן לשלוח פנייה רק אם מדובר בקבוצה
*שדות חובה

תנאי קדם

Delegates for this course need to be competent programmers in another programming language and have an understanding of object-oriented programming principles.

משך הקורס

משך הקורס הינו 24 שעות


Module 1 - Introducing Swift

  • About Swift
  • XCode Overview
  • Projects and Playgrounds
  • Basic Swift Syntax

Module 2 - Data Types

  • Primitives
  • Integers, Floats, Booleans, Tuples
  • Working with strings
  • Constants and Variables
  • Literals
  • Type Aliases
  • Optionals

Module 3 - Basic Syntax

  • Math and Logic operations
  • Defining Arrays and Collections
  • Controlling Program Flow with conditionals and loops
  • Enumerations
  • Nested Types

Module 4 - Functions and Closures

  • Defining a Function
  • Passing parameters
  • Returning single and multiple return values
  • Parameter Naming
  • Variadic, constant, variable and In-Out parameters
  • Closures

Module 5 - Classes and Structures

  • Value types explained
  • Defining structures
  • Assigning structure instances
  • Reference Types
  • Defining Classes
  • Differences between Value and reference types and when to use
  • Setting up Initializers and de-initializers

Module 6 - Properties in detail

  • Stored Properties
  • Lazy and Computed properties
  • Working with Property Observers
  • Encapsulation?

Module 7 - Methods

  • Defining Instance and Type Methods
  • Method naming
  • Mutating Methods
  • Subscripts

Module 8 - Using Inheritance and Polymorphism

  • Creating Subclasses
  • Overriding Methods, Properties and Observers
  • Initialization of inherited types - Chaining
  • Casting and subtype polymorphism

Module 9 - Automatic Reference Counting

  • Reference Counting Explained
  • ARC Under the hood
  • Strong and Weak references
  • Unowned references
  • ARC and Closures

Module 10 - Protocols and Extensions

  • What is a protocol
  • Implementing a protocol
  • Delegation
  • Protocol Inheritance
  • Checking conformance
  • Extending types with Extensions

Module 11 – Generics

  • Why Generics
  • Generic Functions
  • Generic Types
  • Constraints
  • Module 12 - Bringing it all together
  • Creating a simple iPhone app with Swift