Starting FromRM 3500.005 Days
HRDF SBL Claimable
Lunch & refreshment provided
Certificate of Attendance available
All of our private classes are customized to your organization's needs.
Click on the button below to send us your details and you will be contacted shortly.
This course is an introduction to iOS application development. It covers how to create and compile projects using Xcode, basics of the Swift language and uploading the completed app on the iTunes App Store.
After that, you will create a reasonably complex iOS program. In the process, it covers storyboards, table view, table view controller, editing table view, navigation controllers, camera, auto layout, gesture recognisers, push view controllers and modal view controllers. You will also learn how to use unit tests and debugging tools.
Programs you will write:
Loan Calculator - A simple program that allows you to calculate the monthly instalment when you buy a car. Each participant will write their own simple programs during the course of the session.
Food Tracker - A reasonably complex program that stores records and displays them in a table view. User may add, remove and edit each record.
Computer Programming experience (any language) is required to get the most benefit from this training.
This program will be conducted with interactive lectures, PowerPoint presentation, discussion and practical exercise.
- Create and compile projects using Xcode
- Understand basics of the Swift language
- Upload the completed app on the iTunes App Store.
- Create a reasonably complex iOS application, using storyboards, table view, table view controller, navigation controllers, camera, auto layout, gesture recognisers, push view controllers and modal view controllers.
- Test an application using unit tests and debugging tools.
- Save application data so it persists between runs.
- Playground basics
- Naming and identifiers
- Hello, World
- First App
- Constants and variables
- Parameters and Results
- Making Decisions
- Instances, Methods and Properties
- Arrays and Loops
- Defining Structures
- QuestionBot 2
- Actions and Outlets
- Adaptive User Interfaces
- Enumerations and Switch
- Final Project
- Getting an Apple Developer account
- AppID and device registration
- Provisioning profiles
- Submitting your app to the App Store
- Downloading your app
- Assignment: Create your own simple app and upload to App Store.
Learn the essentials of Swift
- Differentiate between a constant and a variable
- Know when to use implicit and when to use explicit type declarations
- Understand the advantage of using optionals and optional binding
- Differentiate between optionals and implicitly unwrapped optionals
- Understand the purpose of conditional statements and loops
- Use switch statements for conditional branching beyond a binary condition
- Use where clauses to impose additional constraints in conditional statements
- Differentiate between functions, methods, and initializersDifferentiate between classes, structures, and enumerations
- Understand syntax for (and basic concepts behind) inheritance and protocol conformance
- Determine implicit types and find additional information using Xcode’s quick help shortcut (Option-click)
- Import and use UIKit
Build a basic UI
- Create a project in Xcode
- Identify the function of key files that are created with an Xcode project template
- Open and switch between files in a project
- Run an app in Simulator
- Add, move, and resize UI elements in a storyboard
- Edit the attributes of UI elements in a storyboard using the Attributes inspector
- View and rearrange UI elements using the outline view
- Preview a storyboard UI using the Preview assistant editor
- Lay out a UI that automatically adapts to the user’s device size using Auto Layout
Connect the UI to code
- Explain the relationship between a scene in a storyboard and the underlying view controller
- Create outlet and action connections between UI elements in a storyboard and source code
- Process user input from a text field and display the result in the UI
- Make a class conform to a protocol
- Understand the delegation pattern
- Follow the target-action pattern when designing app architecture
Work with View Controllers
- Understand the view controller life cycle and when its callbacks occurs, such as viewDidLoad, viewWillAppear and viewDidAppear
- Pass data between view controllers
- Dismiss a view controller
- Use gesture recognizers as an additional level of generating events
- Anticipate object behavior based on the UIView/UIControl class hierarchy
- Use the asset catalog to add image assets to a project
Implement a Custom Control
- Create and associate custom source code files with elements in a storyboard
- Define a custom class
- Implement an initializer on a custom class
- Use UIView as a container
- Understand how to display views programmatically
Define your data model
- Create a data model
- Write failable initializers on a custom class
- Demonstrate a conceptual understanding of the difference between failable and nonfailable initializers
- Test a data model by writing and running unit tests
Create a table view
- Understand the key components of a table view
- Create and design a custom table view cell
- Understand the roles of table view delegates and data sources
- Use an array to store and work with data
- Display dynamic data in a table view
- Embed an existing view controller within a navigation controller in a storyboard
- Create segues between view controllers
- Edit the attributes of a segue in a storyboard using the Attributes inspector
- Pass data between view controllers using the prepareForSegue(_:sender:) method
- Perform an unwind segue
- Use stack views to create robust, flexible layouts
Implement Edit and Delete behaviour
- Differentiate between push and modal navigation
- Dismiss view controllers based on their presentation style
- Understand when to use different type cast operators for downcasting
- Leverage optional binding to check for complex conditions
- Use segue identifiers to determine which segue is occurring
- Create a structure
- Understand the difference between static properties and instance properties
- Use the NSCoding protocol to read and write data
Ahmad Shaharuddin Amin SaharAhmad has been working in the IT industry since 1993 and exposed to all the common challenges faced by IT personnel. With his years of working experience in sales, customer support, system engineer, lecturer, trainer and consultant, he understands the importance of business value, infrastructure efficiency and user productivity.He is an Apple Certified Trainer since 2008. He conducted regular Apple certification courses in Malaysia and Singapore. He has completed the Train-The-Trainer program at Apple Singapore. He is certified to deliver Mac OS X Support Essentials and Mac OS X Server Essentials courses as per Apple's standards and expectations. He is also an Apple Certified Technical Coordinator.