Complete Guide to Swift Programming
4.4 (4 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
23 students enrolled

Complete Guide to Swift Programming

Take your first foray into programming for iOS devices with Swift
4.4 (4 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
23 students enrolled
Created by Packt Publishing
Last updated 3/2019
English
English [Auto]
Current price: $119.99 Original price: $199.99 Discount: 40% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Familiarize yourself with the basics of Swift programming concepts
  • Master how to use key language elements, such as strings and collections
  • Write code with less duplication using generics
  • Compare different architectural patterns for iOS apps
  • Load content from web APIs into structs
  • Explore methods to store structs to files
Course content
Expand all 103 lectures 05:49:18
+ Beginning Swift
49 lectures 02:45:01

This video gives a brief introduction of what we will be covering in this course.

Preview 01:29

This video will show you the lessons that will be covered in this course.

Course Overview
02:14

This video tells you about Swifts basic syntax, improvements and differences.

Swift Program Structure
04:54

In this video, you will learn about variable versus constants and type inference. This will also cover Variable naming and working with it.


Swift Variables and Constants
10:14

In this video, you will learn all about creating and usages of tuples.


Tuples
05:45

This video shows you about Swift's another unique language Optionals. It will also cover declaring and working with it.

Optionals
04:24
Accessing and Using Optional Values
05:20

This video tells you about the built in numeric data types and choosing the more appropriate one.

Swift Data Types
02:02

This video gives you an understanding of declaring and assigning integer variables and floating point numbers. It also covers numeric literal grouping and numeric type conversions.


Declaring and Assigning
08:09

This video tells you about Boolean and assigning a Character. It also covers constructing a character literal.


Boolean and Character
04:07

This video tells you all about strings and how to instantiate, extracting characters and string length.

String
02:35

This video tells you all about enums and covers basic enum syntax, advantages and raw values.

Enums
04:23

This video summarizes your learning of this lesson.


Summary
00:47
Test Your Knowledge
8 questions

This video gives you an overview of this lesson.


Preview 01:26

This video gives an understanding of different swift operators. This includes Assignment, Arithmetic and Comparison operators.

Swift Operators – part 1
04:01

This video gives an understanding of different swift operators. This includes Ternary Conditional, Logical, Bitwise, Nil-Coalescing and Range operators.


Swift Operators – part 2
02:31

In this video you will learn about the different codes which are executed.


Branching
02:23

In this video you will learn about implementing the if and switch statements.


Implementing the statements
04:37

This video shows you the applicable rules while using a syntax.


Rules for using syntax
03:08

This video shows you about the most common structures used in programming. It also demonstrates iterating over objects and for loop where clause.

Loops
03:56

This video shows you about the break and continue control transfer statement.


Transfer statements
01:57

This video shows you about while loop and repeat while loop and the rules applicable for using these.

while loop and repeat while loop
01:45

This video summarizes your learning of this lesson.


Summary
00:27
Test Your Knowledge
8 questions

This video will show you the topics that will be covered.

Preview 01:41

This video shows you about how functions are used in Swift.

Functions
03:14

This video will tells you about functions and exclusion of argument labels.

Argument Labels
02:39

In this video you will have an understanding of the parameter default values and returning values.

Parameter Default and Returning Values
04:28

This video tells you about the variadic parameters and recursions.


Variadic Parameters
04:21

This video shows you the functions as parameters and about closures which are another way to pass a code to a function.

Functions as Parameters and Closures
02:29

This video shows you about handling errors and multiple catch blocks.

Error Handling
02:21

This video demonstrates how to use do without catch and the guard statement.


Using do without catch and the guard statement
02:03

This video tells you about the object oriented principles. It also covers classes versus structs and defining classes and structures.

Object Oriented Features
04:13

This video summarizes your learning of this lesson.

Summary
00:31
Test Your Knowledge
8 questions

This video will give an introduction to this lesson.

Preview 02:13

This video tells you about arrays and working with it. It also covers array slice and creating slice.


Arrays
07:33

This video shows you about sets, creating and performing some common operations.

Sets
04:00

In this video you will have an understanding of what are dictionaries and working with it.

Dictionaries
02:22

This video summarizes your learning of this lesson.


Summary
00:28
Test Your Knowledge
14 questions

This video will give an introduction to this lesson.

Preview 00:56

This video shows you the fundamentals of string and will cover its collections and common string operations.

String Fundamentals
06:26

This video will demonstrate how to use string and creating it.

Using Strings
04:15

In this video you will learn about substrings and creating and parsing it.

Substring
03:54

This video summarizes the topics covered in this lesson.

Summary
00:24
Test Your Knowledge
9 questions

This video will give an introduction to this lesson.


Preview 02:27

This video shows you different types of functional methods filter, map, flatmap and reduce.


Functional Methods
04:32

This video demonstrates how to use flatmap and reduce function.

Using Functional Methods
04:15

This video will cover why we may want to delay operations until they are needed. You will also learn about lazy sequences creating it and sequence internals.

Lazy Operations
04:53

This video shows you to write swifty codes and also covers code organization and miscellaneous.

Swifty Code
04:34

This video summarizes the topics covered in this lesson.


Summary
01:15
Test Your Knowledge
5 questions
+ Professional Swift
54 lectures 03:04:17

This video gives a brief overview of what we will be covering in this course.

Preview 06:07

This video will give you an introduction and show you the topics that will be covered in this lesson.


Lesson Introduction
00:59

This video tells you about the differences between Reference and Value types.

Reference versus Value Types
01:41

In this video, you will learn about Struct specialties, initialization and mutation.


Structs
01:19

In this video, you will learn about simple protocols. Structs and Classes will cooperate better with the Standard Library and other frameworks if they conform to some simple protocols.


Protocols
05:16

This video shows you about fixing crate definitions and copy on write. Also it summarizes classes versus structs.

Copy on Write
06:10

This video tells you about enums and shows you how to use raw values.

Enums
01:35

This video tells you about the associated values and also shows you to make enums with associated values equatable and hashable.


Associated Values
05:09

This video summarizes your learning of this lesson.


Summary
00:13
Test Your Knowledge
11 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 04:16

This video shows you to decode automatically and customizing names of identifiers. It also shows you how to use an intermediate type.

JSON Decoding automatically
08:26

This video shows you how to report errors and to decode manually.

JSON Decoding manually
04:01

This video shows you to encode automatically and customizing names of identifiers.

JSON Encoding automatically
01:48

This video shows you how to use an intermediate type and how to encode manually.

JSON Encoding manually
02:16

This video summarizes your learning of this lesson.


Summary
00:24
Test Your Knowledge
6 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 01:56

This video shows you how to create a framework, how important is access control, the access levels and it also shows you how to apply access modifiers to a framework.

Creating a Framework
09:31

This video defines cocoapods. It shows you how to add framework to framework using cocoapods, then it also shows you to add our framework to an application using cocoapods.

CocoaPods
11:46

This video defines carthage. It shows you how to add framework to framework using carthage, then it also shows you to add our framework to an application using carthage.

Carthage
10:37

This video summarizes your learning of this lesson.

Summary
00:39
Test Your Knowledge
9 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 01:31

This video tells you all about protocols. It also covers some computer languages that have constructs similar to Swift protocols. Then it tells you about protocol use cases and its syntax.

Protocol Syntax Basics
02:57

This video tells you about adopting existing protocols and why use extensions to adopt protocols. It also shows you how to adopt a cocoa touch protocol and implement a custom protocol in a playground.

Adopting and Using Protocols
06:01

This video tells you about using a protocol as types and it shows you how to test objects for protocol conformance. It also shows you how to add an optional protocol requirement.

Using Protocols as Types
04:50

This video shows you how to use mutating keyword and how to implement protocol inheritance.


Mutating Method Requirements
03:14

This video summarizes your learning of this lesson.

Summary
00:34
Test Your Knowledge
7 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 01:06

This video tells you about comparing object oriented and protocol oriented programming and also about the employee entity.

Comparing Object Oriented and Protocol Oriented Programming
00:57

This video shows you how to implement employee as a simple swift structure and also tells you about the positive parts and negative aspects of the basic struct.

Implementing Employee as a Simple Swift Structure
03:45

This video tells you about object oriented design principles and object oriented enhancements. It also shows you how to implement employees as an object oriented class hierarchy. Then it tells you about the positive parts and the negative aspects of object oriented approach.

Refactoring Employee with an Object Oriented Approach
04:47

This video tells you about refactoring employee with a protocol oriented approach and shows you how to implement employee as a protocol.

Refactoring Employee with a Protocol Oriented Approach
02:08

This video summarizes your learning of this lesson.

Summary
00:43
Test Your Knowledge
8 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 01:09

This video tells you about basics of generics and its syntax. It also tells you about type parameters and implementing a type constraint.

Basics of Generics
03:32

This video tells you why use a generic type and designing a generic queue. It also shows you how to implement a queue.

Creating Generic Types
01:48

This video tells you about generic extensions and shows you how to implement it. It also shows you how to add equatable to the employee type.


Generic Extensions
02:15

This video tells you about generics about protocols, then it shows you associated types and its limitations.


Associated Types
03:25

This video summarizes your learning of this lesson.


Summary
01:02
Test Your Knowledge
8 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.


Preview 01:15

This video tells you about the layers of communication required for coding in Swift and how to achieve clear communication using three commonly used branches of software design.

The Need for Architectural Patterns
02:21

This video tells you all about the MVC report. It briefly defines all the three components and shows you how to evaluate them.

The Original MVC Report
07:30

This video tells you about the code base inspection on the different layers - View, Controller and Model. It also tells you about MVC's simplicity and usability, maintainability and flexibility and its testability.

Code base inspection
03:24

This video tells you about the difference in Apple's MVC.

Apple's MVC
03:02

This video summarizes your learning of this lesson.

Summary
00:40
Test Your Knowledge
4 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 01:08

This video tells you all about the Apple's MVC report and also shows you the difference between Apple's Model, View and Control. It also tells you about MVC's simplicity and usability, maintainability and flexibility and its testability.

Apple's MVC in Practice
06:14

This video tells you all about Model, View and View Model. It also tells you about its simplicity and usability, maintainability and flexibility and its testability.

Model-View-View-Model
06:06

This video tells you all about Viper. It also tells you about its simplicity and usability, maintainability and flexibility and its testability.

Viper
07:40

This video summarizes your learning of this lesson.

Summary
00:23
Test Your Knowledge
6 questions

This video will give you an introduction and show you the topics that will be covered in this lesson.

Preview 01:10

This video tells you all about the side effects while interacting with API's. It also tells you about what is pure function and shows you a demo on impure functions.

Identifying Side Effects of Functions
02:46

This video tells you all about the data flow which regulates information flow in the application. It also shares the history of the unidirectional data flow and then it defines the components of Redux.


Unidirectional Data Flow
01:54

This video tells you all about Redux, its implementation using Swift and about the reactor framework. It also tells you about its simplicity and usability, maintainability and flexibility and its testability.


Redux in iOS
07:54

This video summarizes your learning of this lesson.


Summary
00:57
Test Your Knowledge
6 questions
Requirements
  • No prior Swift knowledge is required, however, some prior exposure to object-oriented programming concepts will be beneficial.
Description

This Learning Path begins with explaining the fundamental Swift programming concepts, language structure, and the Swift programming syntax. You will learn to create original custom operators with Swift operators, branching, and loops. You will also learn how to run application codes and compile errors.

Moving ahead, you will learn about the copy-on-write technique and how to implement it ourselves. This Learning Path shows you how to load JSON from web APIs into our custom types, and how to export that content out again. You will learn to create frameworks and import other frameworks using CocoaPods or Carthage. You will also learn about Swift protocols and how protocol-oriented development improves efficiency and leads to more maintainable and reusable code. Next, you will study about generics, and how they enable us to support multiple types without duplication. You will discover different ways to structure a complete iOS app from scratch.You will study the well-known MVC pattern and learn every other trending architecture in the iOS world. Finally, you will know how Swift supports modern application development using advanced features, such as built-in Unicode support and higher-order functions.

By the end of this Learning Path, you will have proficiency in Swift programming and be able to build your own iOS apps in no time!

About the Author

Brent Arnold has over fifteen years of experience in web and mobile technologies. He has been an iOS developer since 2009. He specializes in native iOS and Android development, Objective-C, Swift, Android Native development - Java, Android SDK, Unity 3D, HTML/Javascript/CSS, PhoneGap, Flash/Flex/Adobe Air. He has developed over forty apps in the App store. Software Manager and Mobile Architect over a large development group including off-shore developers. Extensive educational software development experience with applications used by millions of users.

Who this course is for:
  • If you are a developer and want to achieve mastery in iOS development with Swift, then this Learning Path is for you.