Skip To Content
NICF - iOS Programming & Applications Development with Swift is a Program

NICF - iOS Programming & Applications Development with Swift

Self-paced

Sorry! The enrollment period is currently closed. Please check back soon.

Full program description

NICF - iOS Programming & Applications Development with Swift

What's In It For Me

According to study, half of the world population own Smartphone and the figure is growing day by day. Research also suggests that in 2017, the apps market has generated a whopping $78 billion of revenue and will increase over 2 times in few years. The demand and revenue are so great that enterprises are expected to follow suit by creating mobile versions of their line of business (LOB) applications. The foundational skills that you will acquire from this course will provide an enough edge to tap on this niche market and be one among the large base of developers who are already enjoying the benefits of mobile application development.

Course Overview

NTUC LearningHub Course Code: NICF114  

SSG Skillsconnect Code: CRS-Q-0030992-IT 

Using Apple's Swift programming language, this course will help participants to build iPhone and iPad apps and distribute them through the Appstore. 

Swift was designed by Apple to incorporate modern scripting features while offering simpler, cleaner syntax than Objective-C to maintain a minimal and easy to read style. This more expressive code offers numerous key features, such as closures unified with function pointers, tuples and multiple value returns, generics, and functional programming patterns. 

First, this course begins with fundamentals of Swift by introducing participants to iOS development in this language, and presenting best practices for setting up a development environment and using variables, statements, expressions, operators, functions, and closures. 

Next, participants will explore common tasks, such as alert views, table views, and collection views. Participants will then deepen their knowledge of Swift by considering network programming and local data storage. 

Finally, the course dives into slightly more advanced concepts, such as tab bars, web views, the accelerometer, camera, photo library, Google maps, and core location.

Who Should Attend

Anyone who are looking for novice to intermediate level training for designing and building iOS applications, and/or Java and C# programmers who would like to develop mobile applications based on iOS platform.

Course Duration

5 Days / 38.5 Hours

Course Outline

HELLO iOS!

  • Hello iOS!
    • iOS Developer Essentials
    • A Suitable Mac
    • A Device for Testing
    • An iOS Developer Account
    • The Official iOS SDK
    • The Typical App Development Process
    • Wireframes and Design
    • Coding
    • Testing
    • Home Screen Icon
    • Application Launch Image
  • A Tour of XCODE and the iOS Simulator
    • The Welcome Screen
    • Creating a New Project
    • An Overview of the Xcode IDE
    • The Navigator Area
    • The Editor Area
    • The Utilities Area
    • The Debugger Area
    • The Toolbar
    • Features of the iOS Simulator
    • Installing and Uninstalling Applications
    • Limitations of the iOS Simulator
  • Introducing Swift
    • Introducing Xcode Playgrounds
    • Constants and Variables
    • Data Types
    • Comments
    • Strings
    • Tuples
    • Optionals
    • Control Flow Statements
    • if-else
    • switch-case
    • Loops
    • Control Transfer Statements
  • Functions
    • Declaring Functions
    • Parameters and Return Values
  • Closures
    • Function Types
    • Closure Types
    • Global Closures
    • Nested Closures
    • Closure Expressions
  • Error Handling
    • The ErrorType Protocol
    • Throwing and Catching Errors
    • Suppressing Error Handling
    • The defer Statement
  • Object-Oriented Programming with Swift
    • Creating Classes with Swift
    • Properties
    • Methods
    • Instantiating Objects
    • Inheritance
    • Computed Properties
    • Enumerations
    • Protocols
  • Supporting Multiple Device Types
    • Device Differences
    • Screen Size
    • Icon Size
    • Device Orientation
    • The Universal XCode Template
  • Introduction to UIKIT and Adaptive Layout
    • Introducing the UIKit Framework
    • The UIButton Class
    • The UILabel Class
    • Basic Constraints
    • Previewing Your Layout
    • Creating Outlets
    • Creating Actions
  • Introduction to Storyboards

MORE iOS DEVELOPMENT

  • Handling User Input
    • Text Fields
    • Text Views
  • Alert Views and Action Sheets
    • Alert Views
    • Action Sheets
  • Adding Images to Your Views
    • The UIImage Class
    • The UIImageView Class
  • Pickers
    • Date Pickers
    • Custom Pickers
  •  Navigation Controllers
    • Adding a Navigation Controller to a Storyboard
    • The Navigation Controller Interface
  • Table Views
    • Table View Appearance
    • Creating a Table View with Interface Builder
    • Static Table Views
    • Dynamic Table Views
  • Colection Views
    • Creating a Collection View with Interface Builder
    • Collection View Cells
    • Collection View Delegate and Data Source
  • Tab Bars and Toolbars
    • Creating a Tab Bar Controller
    • Toolbars
  • Creating Views that Scroll
    • The UIScrollView Class
    • Scroll Views and Text Fields
  • Popovers and Modal Views
    • Popovers
    • Modal Views
  • Touches and Gestures
    • Touch Events
    • Gesture Recognizers

STORING DATA AND NETWORK PROGRAMMING

  •  Property Lists
    • Creating Property Lists
    • Reading Property Lists
  • Application Settings
    • Adding a Settings Bundle
    • Reading Preferences with Code
  • Introduction to iCloud Storage
    • Basic Concepts
    • Preparing to Use the iCloud Storage APIs
    • Creating an iCloud-Enabled App ID
    • Creating an Appropriate Provisioning Profile
    • Enabling Appropriate Entitlements in Your Xcode Project
    • Checking for Service Availability
    • Using iCloud Document Storage
    • Creating a New iCloud Document
    • Opening an Existing Document
    • Saving a Document
    • Searching for Documents on iCloud
  • Introduction to CLOUDKIT
    • Containers, Databases, and Records
    • Development and Production Environments
    • The CloudKit Dashboard
    • Creating a Record Type
    • Deleting a Record Type
    • Creating Relationships Between Record Types
    • Adding Records
    • Modifying and Deleting Records
    • Resetting the Development Schema
    • Deploying to Production
    • Preparing to Use CloudKit
    • Create an iCloud-Enabled App ID
    • Create an Appropriate Provisioning Profile
    • Enable Appropriate Entitlements in Your Xcode Project
    • Common Operations
    • Checking for Service Availability
    • Creating Records Programmatically
    • Retrieving Records
  • Introduction to Core Data
    • Basic Concepts
    • Managed Object
    • Managed Object Context
    • Persistent Store Coordinator
    • Entity Description
    • Managed Object Model
    • Adding Core Data to a Project
    • Instantiating Core Data Objects
    • Writing Managed Objects
    • Reading Managed Objects
  • Consuming RESTful JSON Web Services
    • Types of Web Services
    • RESTful Web Services
    • SOAP Web Services
    • JSON and NSJSONSerialization
    • NSURLSession and Application Transport Security
    • Creating an NSURLSession
    • Creating a Data Task
    • Application Transport Security

BEYOND THE BASICS

  • Social media Integration
    • The Share Sheet
  • Where Am I? Introducing Core Location
    • Permissions
    • Accuracy
    • Receiving Location Updates
    • Handling Errors and Checking Hardware Availability
    • Geocoding and Reverse Geocoding
    • Obtaining Compass Headings
  • Introduction to Map Kit
    • Adding Annotations
    • Accessory Views
  • Using the Camera and Photo Library
    • Selecting the Image Source
    • Presenting the Image Picker
  • Introduction to User Interface Testing
    • Adding Support for UI Testing to Your Project
    • Anatomy of a Test Case
    • New Classes for UI Testing
    • XCUIApplication
    • XCUIDevice
    • XCUIElementQuery
    • XCUIElement
    • XCUIElementAttributes
    • XCUIElementTypeQueryProvider
    • Test Assertions
    • UI Recording
    • Waiting for Elements in a UI Test
  • Introduction to Test Driven Development
    • Adding Support for Unit Testing to Your Project
    • TDD Techniques
    • Test First
    • Red-Green-Refactor
    • Dont Write Code You Do Not Yet Need
    • Anatomy of a Test Case
    • Test Assertions

Mode of Assessment

Students will be required to complete a paper-based NICF assessment during class.

Certification Obtained and Conferred by

Awarded NICF Statement of Attainments (SOA)

Upon completion of the course, students will also be awarded with SOAs from SSG.

Course Objectives

This course will enable participants to

  • Learn the basics of the Swift programming language with an emphasis to OOP.
  • Acquire the foundational skills to build an IOS application in the core areas of views, business logic and data storage.
  • Learn the advanced components of IOS application development in the core areas of device configuration, multi-media and location based services.

Pre-requisites

Participants must have prior programming knowledge and experience in other languages such as C#, Java, etc.

Medium of Instruction & Trainer

Medium of Instruction: English

Trainer: Trainee ratio is 1:16

Price

Individual Sponsored

Company Sponsored

w/o GST

w GST

Non-SME

SME

w/o GST

w GST

w/o GST

w GST

Original Course Fee

$2,950.00

$3,156.50

$2,950.00

$3,156.50

$2,950.00

$3,156.50

Singapore Citizens & PRs aged 21 years and above

$2,372.50

$2,579.00

$2,372.50

$2,579.00

$1,025.00

$1,231.50

Singapore Citizens aged 40 years and above

$1,025.00

$1,231.50

$1,025.00

$1,231.50

$1,025.00

$1,231.50

Singapore Citizens aged 35 years and above who are not earning more than $2,000 per month (WTS Scheme)

$147.50

$354.00

$147.50

$354.00

$147.50

$354.00

Remarks:

  • Individual Sponsored
    Eligible Singapore Citizens can use their SkillsFuture Credit to offset course fee payable after funding.
    Eligible Singapore Citizens can use their PSEA funds to offset course fee payable after funding.
  • Company Sponsored
    Absentee Payroll claimable by SMEs: Up to 80%of hourly basic salary capped at $7.50/hr
    Absentee Payroll claimable by Non-SMEs: Up to 80% of hourly basic salary capped at $4.50/hr
    Absentee payroll claimable by companies (SMEs and Non-SMEs) sponsoring candidates under WTS Scheme: Up to 95% of hourly basic salary (no dollar cap)

Terms and conditions apply. NTUC LearningHub reserve the right to make changes or improvements to any of the products described in this document without prior notice.

Prices are subject to other LHUB miscellaneous fees

NICF114