This course is designed to train both novice and experienced developers how to create native iOS 10 apps for iPhone, iPad and iPod using the Swift programming language. Designed by experienced iOS developers, the course places a strong emphasis on hands-on learning through a multitude of exercises and demonstrations. Students will be guided through a wide variety of in-class labs, teaching practical solutions to common problems that address real-world production needs.

Course Duration: 3 days
Prerequisites:
  • To take full advantage of this course, a basic knowledge of programming in Swift is recommended. A separate three-day Programming in Swift course is available
  • Object-oriented programming experience is recommended
  • Basic familiarity with Mac computers and working in Mac OS X is recommended
Course Objectives:
  • Learn to design and build iOS app interfaces using Xcode 8’s interface builder
  • Add Interactivity to iOS controls such as buttons, switches, sliders and pickers
  • Learn to create, modify and destroy objects dynamically with code during runtime
  • Understand protocols and the delegate design pattern
  • Build multi-screen apps using both navigation controllers and tab-bar controllers
  • Write customized Swift classes
  • Create TableViews and implement the Master-Detail design pattern
  • Use AutoLayout and Size Classes to properly configure Apps to support various screen sizes, device orientations (portrait and landscape) and iOS devices: iPhone 4, 5, 6 and 7, iPads, etc.
Course Outline:
  • Your First App – “Prepare for Takeoff”
    • Creating a New Project in Xcode
    • Designing an App Interface Using Interface Builder
    • Working with the Objects Library and the Attributes Inspector
    • Running and Previewing the App Using the iOS Simulator
  • Adding Interactivity
    • Writing Swift Code in the ViewController File
    • Creating IBActions and IBOutlets
    • Activating Controls
      • Enabling Buttons, Switches and Sliders
    • Using the Size Inspector
    • Creating an Alert with Action Buttons
    • Basic Control-Flow with Conditionals

 

  • Enabling User Input
    • Working with Textfields to Read User Inputted Data
    • The iOS Keyboard and Special Alternate Keyboard Layouts
    • Alternate Methods for Dismissing the Keyboard
    • Using the Connections Inspector
    • More Control-Flow

 

  • Working with Image Assets and App Icons
    • Creating a Custom Icon for Your App
    • Creating a Custom Splash Image for Your App
    • Displaying Images in an iOS App
    • Managing Image Assets: Regular and Retina
  • Writing Classes in Swift
    • Declaring A Swift Class in A Separate File
    • Declaring Stored Properties and Writing Instance Methods
    • Control Flow with The Switch Statement

 

  • Using the PickerView
    • Single Component Pickers
    • Multi-Component Pickers
    • Protocols and the Delegate Design Pattern

 

  • Creating Views from Code
    • Initializing Objects with Code
    • Views, Subviews and the Superview
    • The Subviews Auto-Array and View Index
    • Wiring Up Views to IBActions Using Code

 

  • Using Storyboards and Creating Multiview Applications
    • Using Navigation Controllers
    • Working with Segues
    • Passing Data Between ViewControllers
    • Creating Bar-Tab Applications

 

  • Using TableViews
    • Creating Regular and Multi-Sectioned TableViews
    • Drill-Down Menus
    • Master-Detail Scheme
    • Creating Custom TableView Cells
  • Universal Apps
    • Working with Auto-Layouts
    • Implementing Size Classes
    • Handling Aspect Ratio Constraints

 

  • Application Life Cycle and View States
    • Understanding Different Application States
    • Working with a ViewController’s Life Cycle
    • Creating Local Notifications