iOS 9 App Development Using Swift
Course Code: hsts-c8
What is included in this course
Course Overview
This course is designed to train both novice and experienced developers how to create native iOS Apps for iPhone, iPad and iPod using the Swift programming language. Created by experienced iOS developers, the course places a very strong emphasis on hands-on learning through a multitude of exercises and demonstrations. Students will be guided through a wide variety of in-class assignments specifically designed to offer practical solutions to common problems that address real-world production needs. Topics covered include: Multi-View Apps, Design-Patterns, Data-Persistence, Core Data, Web-Services, JSON and XML parsing, Maps and Location Services, working with Images and Animations, and handling Gestures. An in-depth look at the Xcode 6 IDE and its many features and tools will also be included.
- Learn to use Xcode 6's Interface Builder to design and build iOS App Interfaces.
- Utilize iOS Controls such as Buttons, Switches, Sliders, and Pickers.
- Build multi-screen Apps using Navigation Controllers, the Master-Detail (drill-down) template, and the Tab-Bar Template.
- Data Persistence - saving data on iOS devices using Property List, Sqlite3 Databases, and Core Data.
- Make calls to Web-Services from an iOS App.
- Parse incoming JSON and XML data streams.
- Work with Maps and Location Services to make location-aware Apps.
- Gesture recognition, enabling Swipes, Taps, Pinches, and Pans.
- Use of Auto-Layout and Size Classes to properly configure Apps to support various screen sizes and device orientations.
Course Prerequisites
- Basic knowledge of programming in Swift is recommended.
- Object Oriented Programming experience is recommended.
- Basic familiarity with Mac computers and working in Mac OS X is recommended.
Job Roles For This Course
- Programmers
- App Developers
Projects Using This Course
- iOS, OS X & watchOS Development
Self-paced training
This course is available in a self-paced video format starting at $60.
Corporate and Enterprise Training
Our live courses are also offered via our enterprise training program which includes:
- In-person training at your location
- Access to recorded sessions of live classes
- Flexible training schedules that match your employees’ availability
- Course curriculum customization based on your training requirements and business goals
- Special rates for small or large groups
Overall Info About our Live Classes
Highlights
- 30 hours of hands-on training led by experienced instructors
- Digital courseware and online course tracking
- Final course project delivery
- Certificate of Completion for each course
Enrollment Fee
In-person in DC or live online for $2990 per course.
Course Session Dates
Our courses are offered all year round. Upon registration we enroll you to the earliest available class but you can reschedule it free of charge.
Locations
- Virtual live instructor classes via Zoom.
- In-person classes in Washington DC and Virginia.
Software Versions
Our classes are taught on the most current version of software whenever possible.
Course Outline
Topics Covered in this Course
1. Your First App- “Prepare for Takeoff”
A. Creating a new Project in Xcode
B. Designing an App interface using Interface Builder
C. Working with the Objects Library and the Attributes Inspector
D. Running and previewing the App using the iOS Simulator
2. Adding Interactivity
A. Writing Swift code in the ViewController file
B. Creating IBActions and IBOutlets
C. Activating Controls: enabling Buttons, Switches and Sliders
D. Using the Size Inspector
E. Creating an Alert with action Buttons from code
F. Working with Conditionals for basic Control-Flow
3. Enabling User Input
A. Working with Textfields to read in user inputted data
B. The iOS Keyboard and special alternate keyboard layouts
C. Alternate methods for dismissing the Keyboard
D. Using the Connections Inspector
E. More Control-Flow
4. Working with Image Assets & App Icons
A. Creating a Custom Icon for your App
B. Creating a Custom Splash Image for your App
C. Managing Image Assets: Regular & Retina
5. Writing Classes in Swift
A. Declaring a Swift class in a separate file
B. Declaring Stored and Computed Properties
C. Creating Instance Methods
D. Control Flow with the Switch Statement
6. Using the PickerView
A. Single Component Pickers
B. Multi-Component Pickers
C. Working with the Date Picker and the NSDate class
7. Creating Multiview Applications
A. Using Navigation Controllers
B. Working with Segues
C. Passing Data between View Controllers
D. Creating Bar-Tab Application
8. Using TableViews
A. Creating regular and Multi-Sectioned TableViews
B. Drill-Down menus
C. Master-Detail scheme
D. Creating custom TableView Cells
9. Using Collection Views
A. Modifying Grid Layouts
B. Creating Custom CollectionView Cells
C. Enabling Cell-Tap Navigation to Detail Screens
10. Creating Views from Code
A. Initializing Objects with Code
B. Views, subviews, the Superview
C. The Subviews auto-array and View Index
D. Wiring up Views to IBActions using code
11. Detecting and Handling Gestures
A. Swipe Gesture
B. Tap Gesture
C. Pinch Gesture
D. Pan Gesture
E. Rotation Gesture
F. Implementing Affine Transformations
12. Data Persistence
A. Working with NSFileManager and the iOS File Directory
B. Saving Property Lists
C. Using Databases with the sqlite Library
D. Working with Core Data
13. Maps, Core Location and Location Services
A. Displaying User Location on Map
B. Creating Annotations & Pins
C. Switching Map Types
D. The MKMapViewDelegate Protocol
14. Web Services
A. Establishing an NSURL connection
B. Making an NSURLConnection Request
C. Reading returned XML & JSON data
D. Parsing incoming XML with NSXMLParser
E. Parsing incoming JSON Data
15. Integrating your App with Social Media
A. Posting to Facebook and Twitter from within your App
B. Attaching Photos, URL’s
16. Universal Apps- Auto-Layouts, Handling Device Rotations, and Size Classes
A. Working with Auto-Layouts
B. Implementing Size Classes
C. Handling Aspect Ratio Constraints
17. Application Life Cycle & View States/Life Cycle
A. Understanding Application States
B. Working with a ViewController’s Life-Cycle
C. Creating Local Notifications
18. Unit Testing
A. Using the XCTest Framework
B. Creating unique tests for specific functionalitites
C. Making Test Assertions
D. Creating performance-measurement tests
19. Submitting to the App Store
A. The iOS Developer’s Center
B. Creating App Certificates, Identifiers and Profiles
C. Archiving the Project
D. Ad-Hoc and App-Store Distribution