What do you want to learn today?

Swift Programming for iPhone and iPad Applications

Inquire Now
On-Site / Training

Details

In this hands on Swift programming course, attendees will learn how to develop iPhone and iPad apps using the Swift programming language and Xcode. Students will learn the Swift language and how to create Swift classes with properties, initializers and both instance and class methods.

Students will use Storyboards to design a user interface for iOS apps with multiple views. They will then configure view controller classes to interact with iOS views and controls (text fields, buttons, segmented controls, etc.) using IBOutlets, create event handlers using IBActions and then code events handlers.

Students will learn to persist data using three different strategies and implement each, read and write local files on the device, make asynchronous calls to Web services and parse XML data from the HTTP response. Students will also use Core Data to interact with local SQLite databases.

The course also includes coverage of how to implement the Apple delegate design pattern which is used in many APIs including those interacting with the camera and recorder. Students will practice these skills by writing code to capture images with the camera and recording and then playing back, audio.

Students will learn how to utilize Objective-C code in Swift applications in order to take advantage of the rich variety of existing APIs and frameworks. The course also includes coverage of scheduled background execution to allow code to be run when the app isn't active.

Students learn how Apple's Cocoa Touch UI Framework provides an abstraction layer of iOS for the iPhone and iPad. The course emphasizes safe programming practices. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency. Students will create Swift apps from the ground up, demonstrating the features of Swift and its supporting code libraries.

Prerequisites: Prior programming experience in an object-oriented language such as Objective-C, Java, C# or C++.

Outline

Macintosh Programming Environment
  • Versions of iOS and Supported Devices
  • Examining the macOS
  • Exploring macOS Tools
  • Enrolling in the Apple Developer Program
Xcode IDE
  • Using Swift Playgrounds
  • Creating Apps Using Xcode Templates
  • Exploring the Xcode IDE
  • Leveraging Xcode Debugging Support
Swift Data Types
  • Declaring Variables and Constants
  • Working with Swift Numeric Data Types
  • Working with Strings
  • Working with Dates
  • Understanding Swift Optionals
  • Leveraging Swift Generics
  • Working with Collections (Arrays and Dictionaries)
  • Using Tuples
Swift Control Structures
  • Using Flow Control Statements (if, switch)
  • Writing Loops (for, while, repeat)
  • Writing and Calling Functions
    • Defining Parameters
    • Specifying Return Type
    • Using Named Parameters
    • Nesting Functions
  • Using Swift Blocks
Object Oriented Programming Constructs
  • Defining Classes
  • Declaring Properties
  • Writing Initialization Methods
  • Creating Methods
  • Understanding Public vs. Private
  • Instantiating and Using Objects
  • Understanding ARC (Automatic Reference Counting)
  • Implementing the Delegate Design Pattern
    • Declaring Protocols
    • Implementing Protocols
    • Optional Protocol Methods
Swift Error Handling
  • Understanding Swift Error Handling
  • Defining and Throwing Errors
  • Propagating Errors Using Throwing Functions
  • Handling Errors Using do-catch
  • Understanding the Swift Error Type
  • Converting Errors to Optionals
  • Using defer to Specify Cleanup Actions
iOS Application Architecture and Design Patterns
  • Understanding iOS Application Architecture
  • Exploring Design Patterns used in iOS Apps
    • Model-View-Controller
    • Singleton Pattern
    • Lazy Instantiation
    • Protocol/Delegate Pattern
Introducing iOS Apps
  • Working with View Controllers
  • Designing the UI Using Storyboards
  • Building IBOutlets and IBActions
  • Handling Events
Enhancing iOS Apps
  • Exploring iOS Controls, Views and View Controllers
  • Creating Multiple Views
  • Using Segues for View Transitions
  • Using Navigation Controllers
  • Implementing Master/Detail Applications
  • Using AutoLayout to Manage Different Size Devices
Reading and Writing Files
  • iOS File System Structure
  • Locating an Application's File Space
  • Locating Files
  • Creating Files
  • Understanding Serializable Types
  • Reading and Writing Files
Working with Web Services
  • Using RESTful Web Services
  • Creating Apps that Use Web Services
  • Configuring and Using URLSession
  • Working with Requests
  • Formatting Data for Transmission Over a Network
  • Parsing Data in Responses
  • Using URLSessionTasks
  • Configuring App Transport Security
Using Core Data
  • The Managed Object Model
  • Managed Object Context
  • Creating a Core Data Application
  • Understanding the Core Data Model
  • Creating Entities and Attributes
  • Subclassing NSManagedObject
  • Fetching, Editing and Saving Core Data Objects
  • Working with the Core Data Master/Detail Template
Working with the Camera
  • Detecting the Camera
  • Types of Media
  • Working with UIImagePickerController
  • Capturing and Processing the Image
  • Saving the Image
  • Configuring Camera and Photo Library Permissions
Working with Audio
  • Using the AVAudioSession
  • Recording Audio
  • Playing Audio
  • Configuring Microphone Permissions
Touch Recognition and Gestures
  • Understanding Multi-Touch Concepts
  • iOS Recognizable Gestures
  • Recognizing User's Touch
  • Using Gesture Recognizers
Mixing Swift and Objective-C
  • Understanding Mixed Language Applications
  • Examining Objective-C Syntax
  • Using Objective-C in Swift
  • Using Swift in Objective-C
System Events and Background Execution
  • Application Lifecycle Events
  • Examining the App Delegate
  • Reacting to System Events
  • Running Tasks in the Background
Reviews
Be the first to write a review about this course.
Write a Review

Software Skills Training, Inc. (SST) is a leading provider of task-oriented training courses for IT professionals. Our task-based training philosophy is focused on saving you time and assuring that you are able to work more productively and with higher quality results after training. Founded in 2000, SST has delivered high-powered training to tens of thousands of IT professionals.

Choose from a variety of delivery options:

  • Face-to-face in the classroom in over 100 cities
  • Live remote attendance
  • On-demand streaming
  • Group training at your facility
Guarantees

We guarantee the overall quality of our courses with a 100% money-back guarantee. If any student is not totally satisfied for any reason, they can withdraw before the second day of class. Notify the instructor and return all course materials and receive a 100% refund.

Why Choose SST?
  • 50% hands on labs
  • Small class sizes typically under 14 students
  • Expert instructors that average over 10 years of teaching experience
  • Students can retake any portion of a class that has been completed, within 12 months at no extra cost
  • No registration fees or cancellation fees
Sending Message
Please wait...
× × Speedycourse.com uses cookies to deliver our services. By continuing to use the site, you are agreeing to our use of cookies, Privacy Policy, and our Terms & Conditions.