Swift Programming for iPhone® and iPad® Applications
Duration: 35 hours
Prerequisites: Prior programming experience in an object-oriented language such as Objective-C, Java, C# or C++.
Students Will Learn:
- Using Xcode to build iPhone and iPad apps
- Working with Swift data types
- Using Swift control structures such as if, while and for
- Creating and calling Swift functions
- Managing data using Swift arrays and dictionaries
- Designing and using Swift classes
- Understanding how ARC manages memory
- Handling run time errors in Swift
- Understanding the iOS app life cycle
- Understanding Apple's implementation of the MVC design pattern
- Using Storyboards to design user interfaces
- Creating and configuring view controllers
- Building IBOutlets to interact with UI widgets
- Creating IBActions to handle UI events
- Using AutoLayout to create user interfaces for multiple iOS devices
- Using Apple's singleton and delegate design patterns
- Creating Single View apps
- Creating Tab Bar apps
- Creating master/detail apps
- Customizing table views and table view cells
- Interacting with local files on the device
- Using Web services to manage data
- Persisting data locally using Core Data
- Working with collection views
- Capturing images using the camera
- Working with gesture recognizers
- Creating finite-length background task
In this hands on Swift programming course, attendees will learn how to develop iPhone and iPad apps using Swift and Xcode. Students begin by learning the fundamentals of the Swift language. They will explore how to build object-oriented applications by creating Swift classes with properties, initializers and both instance and class methods. Coverage includes use of advanced Swift features like generics, closures, and error handling.
Students will use Storyboards to design user interfaces for iOS apps. They study how to configure view controller classes to interact with iOS views and controls (labels, text fields, buttons, segmented controls, switches, table views, etc.) using IBOutlets, create event handlers using IBActions and then code events handlers. They learn how to use segues to manage transitions between views.
Students will become proficient in implementing master/detail apps. Features explored include configuring table views, designing details views, implementing add features, and coding "swipe to delete". Students also learn how to implement different types of custom table view cells. This type of app is among the most common app found in the marketplace.
Students learn how to persist data using three different techniques: read and write local files on the device, make asynchronous calls to Web services and parse XML data from the HTTP response, and use Core Data to interact with local SQLite databases.
Students examine how to work with images, as well as use touch and gesture recognizers to respond to complex user interactions like pinch to zoom. They learn how to use tab bar controllers to build a multi view app. They learn about the life cycle of an iOS app and how to write code to respond to state transitions, including scheduling code to run in background when the app isn't active.
Throughout the course, students work with Apple's Cocoa Touch UI Framework. They examine how to implement Apple's delegate design pattern which is used in many APIs. Students practice these skills by working with pickers and collection views, as well as writing code to capture images with the camera.
The course emphasizes best programming practices. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency. Students will create iOS apps using Swift from the ground up, demonstrating the features of Swift, iOS, and its supporting code libraries.
|Programming iOS Apps in Swift on a Mac
|Swift Data Types
||Swift Control Structures
|Object Oriented Programming Constructs
||Swift Error Handling
iOS Design Patterns
| iOS Apps
|Enhancing iOS Apps
Building Sophisticated User Interfaces
Designing Master/Detail Applications
|Reading and Writing Files
|Working with Web Services
||Using Core Data
|System Events and Background Execution
||Touch Recognition and Gestures
|Working with the Camera
|Mobile Application Developer||2-course track
iPad® and iPhone® are trademarks of Apple Inc., registered in the U.S. and other countries.