Apple Swift Programming

( Duration: 4 Days )

In Apple Swift Programming training course, delegates will become familiar with the Xcode Integrated Development Environment as well as the programming structures and syntax used by Swift. They will also learn about programming concepts that are unique to Swift.

By attending Apple Swift Programming workshop, Participants will learn:

  • Fundamentals of Swift programming and object-oriented concepts
  • Properties
  • Looping structures
  • Decision structures
  • Classes and objects
  • Troubleshooting code
  • Debugging

A familiarity with programming concepts; such as variables, decision structures, looping structures, classes and objects.

Programmers who will be involved in the development of applications for the Apple mobile and desktop environments.



Getting started with application development

  • Evolution of Swift
  • Leveraging Xcode for rapid application development
  • Analyzing the syntax of a simple application

Swift programming fundamentals

  • Decisions
  • Loops
  • Logic
  • Coding variables, constants, statements and control blocks
  • Testing code in interactive Playgrounds

Appraising built-in types

  • Choosing value types vs. reference types
  • Simplifying code with type inference
  • Writing safe and expressive code with optionals

Creating user-defined types

  • Returning compound values with tuples
  • Selecting among enums, structs and classes

Declaring and initializing classes

  • Encapsulating specific tasks using methods and properties
  • Applying inheritance and polymorphism to class objects
  • Setting the initial state with initializers
  • Controlling access with public, private and internal modifiers

Organizing compound values with structures

  • Populating struct properties with the memberwise initializer
  • Contrasting functionalities of structs and classes

Designating groups of values with enumerations

  • Providing additional information with computed properties
  • Assigning initial values with custom initializers
  • Matching enumeration values in switch statements
  • Storing and accessing associated values

Designing reusable functions for code modularity

  • Performing specific tasks with self-contained blocks of code
  • Modifying variables with in-out parameters
  • Nesting functions within functions to perform complex tasks
  • Passing functions as function arguments

Capturing errors

  • Wrapping function calls in do {..}catch blocks
  • Choosing between try, try? and try!
  • Simplifying code with guard and defer

Exploiting generics in applications

  • Declaring generic functions that use generic types
  • Constraining types passed to a generic function

Reusing classes through aggregation

  • Incorporating the has-a relationship in class design
  • Employing collection types including arrays, dictionaries and sets
  • Iterating collections

Exposing interfaces with protocols

  • Conforming to protocols to provide standard functionality
  • Forming contracts with protocols
  • Benefiting from protocols in app design

Extending classes with inheritance

  • Enhancing class functionality beyond a default implementation
  • Identifying the is-a relationship
  • Defining initializers in subclasses
  • Leveraging dynamic binding through polymorphism

Customizing existing classes with extensions

  • Avoiding excessive inheritance
  • Modifying classes without access to the base-class source code

Interacting with Objective-C frameworks

  • Instantiating Objective-C classes in Swift
  • Accessing properties and methods

Incorporating Objective-C and Swift in the same project

  • Bridging Objective-C header files into Swift
  • Importing Swift code into Objective-C

Building GUIs with Swift

  • Creating a simple iOS app
  • Connecting actions and outlets

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 3,500 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 20,000 corporate candidates across india and abroad
  • All our trainings are conducted in workshop mode with more focus on hands On

View our other course offerings by visiting www.encartalabs.com/course-catalogue

Contact us for delivering this course as a public/open-house workshop for a group of 10+ candidates at our venue