Swift: Mastering the Core Concepts
5.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
6 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Swift: Mastering the Core Concepts to your Wishlist.

Add to Wishlist

Swift: Mastering the Core Concepts

Start your journey towards becoming a Swift programmer by grasping Swift fundamentals
5.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
6 students enrolled
Created by Packt Publishing
Last updated 7/2017
English
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 5 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the fundamentals of Swift
  • Get acquainted with Swift functions
  • Explore collection types and generics
  • Get familiar with type casting and type checking
  • Begin with the concept of closures
View Curriculum
Requirements
  • You need to be familiar with the basics of proogramming. No prior Swift knowledge is required.
  • You need to have MacOS or Ubuntu platform to install Xcode.
Description

Swift is a new, general-purpose, multi-paradigm, and compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.

This course introduces you to Swift, and the various ways you can get started on your current platform. In comparison to Objective-C, Swift is a reasonably "large" language, with many native features.

This course teaches you the fundamentals of the language and features that will be essential to mastery. Depth is avoided, in favor of introducing the developers to the most common functions or core features.

This course begins with an introduction to the Swift language and how to write basic Swift code. You will then build your Swift foundation by learning important concepts such as collection types, generics, protocols, type casting, and type checking.

Finally, you will be introduced to closures.

By the end of this course, you will be ready to take a step towards attaining mastery of Swift. 

About the Author

Jonathan Crooke has been a professional developer for Apple platforms since 2010, and has shipped success apps with userbases in the millions, working for companies such as SoundCloud, Zalando, Memrise, and EyeEm. He has worked on the iPhone, iPad, Apple Watch and MacOS, and has a number of popular libraries available on GitHub. With a previous career in teaching, Jonathan has considerable experience putting himself in the shoes of the learner, and communicates clearly, and without excessive use of jargon.

Who is the target audience?
  • This is the go-to course for iOS developers who are new to the world of Swift programming. This course is also for novice application developers who want to learn the Swift language.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
35 Lectures
03:03:58
+
Introduction to Swift
3 Lectures 13:14

Swift is a new and evolving language used to develop iOS, macOS, watchOS, tvOS, and Linux applications, but the reach of Swift is set to be much wider in the future, for example, Android. In this video, we will:

  • Get introduced to the Swift language and its background
  • Explore Swift's attractive key features which proves that Swift is a worthy successor to Objective-C, not just for Apple platforms
  • Get familiar with Swift's version history and its ranking among other programming languages  
Preview 05:47

Now that we have understood the background of Swift, let's learn some of the additional advantages of Swift. Particularly, we will:

  • Get familiar with Swift's compatibility on platforms other than Apple's.
  • Explore online sites that follow Swift's development, both within Apple and the wider open source community.
  • Discover the various ways you can get started with Swift on currently supported platforms. 
Why learn Swift?
01:48

In this video, we will understand how we to get with Swift. We will:

  • Explore coding in Swift using Apple Xcode and the IBM Swift Sandbox web application
  • Learn to code in Swift REPL on Ubuntu and/or MacOS    
How to work with Swift?
05:39

Test Your Knowledge
3 questions
+
Writing Your First Swift Code
3 Lectures 13:37

Now that we are familiarized with the background of Swift, it's time to start writing your first Swift code. In this video, we will:

  • Learn to create constants and variables using let and var keywords
  • Understand Int, UInt, Float, Double, and Bool data types
  • Explore the default types 
Preview 03:29

In this video, we will learn how to format and print the output to the console along with understanding the complex text type - strings. Here is what is in store for you:

  • Explore ways to output to the console using the print() and dump() functions
  • Get familiar with Swift's text type—strings
  • Give all of it a try in Xcode
Simple Output and Strings
06:00

In this video, we will explore tuples, which we can think of as a simple group of related values. Particularly, we will:

  • Get familiar with the tuple syntax and learn to access its values
  • Understand named and unnamed tuples
  • Implement tuples in an Xcode playground 
Using Tuples
04:08
+
Essential Flow Controls
3 Lectures 18:40

Now, let us understand the concept of essential flow controls in Swift. In this video, we will:

  • Explore ranges in depth
  • Understand ranges as common functions
  • Use them in the Swift Xcode playground 
Preview 03:14

Now that we have covered ranges, we will move on to understanding conditionals and loops. In this video, we will:

  • Understand the for-in loop syntax
  • Understand while, repeat/while
  • Play with them in Xcode
Flow Controls
04:50

In this video, we would be learning the usage of switch statement in Swift. Particularly, we will:

  • Explore the basic switch syntax
  • Understand switch pattern matching
  • Implement in Xcode 
Putting it together
10:36

Test Your Knowledge
6 questions
+
Understanding Optionals
4 Lectures 16:31

Now that we have understood flow controls, let us explore Swift optionals. In this video, we will:

  • Understand what an optional is
  • Explore basic optional syntax
  • Try them in Xcode 
Preview 07:04

In this video, we will learn optional as a type that expresses the absence of a value. Particularly, we will:

  • Understand to use optionals
  • Learn the assignment of optionals
  • Try it in Xcode
Implicitly unwrapped optionals
04:58

Now that we have covered optionals, we will understand optional unwrapping in detail. In this video, we will:

  • Understand optional unwrapping with if keyword
  • Explore the syntax
  • Implement in Xcode playground 
Experimenting in the Swift Sandbox
04:11

Questions
00:18
+
Writing Your First Swift Functions
3 Lectures 19:25

Now let us explore and implement Swift functions in detail. In this video, we will cover the following topics:

  • Learn the Swift function syntax
  • Understand the naming conventions
  • Explore the types of argument in detail
Preview 03:17

In this video, we will explore Swift as default argument type. Particularly, we will:

  • Learn the argument type syntax
  • Understand the inout arguments
  • Implement in Xcode playground 
Types of arguments
03:11

Now that we have covered argument types, let us understand return types. In this video, we will:

  • Explore multiple return types
  • Learn to return tuples
  • Learn to return optionals
Default argument values
12:57
+
Generics
2 Lectures 07:02

In this video, we will understand generics in detail along with the problem they solve. Particularly, we will:

  • Explore what generics are and what can they do
  • Understand the syntax of generics
  • Implement in Xcode 
Preview 03:54

In this video, we will:

  • Explore how generics are not magic
  • Focus on what it can do and what not it is
  • Play in Xcode
Generics are not magic
03:08
+
Collection Types
4 Lectures 26:12

In this video, we will understand array as a Swift native collection type. Here is what is in store for you:

  • Learn array as a generic type
  • Explore the declaration array syntax
  • Explore array operations in-depth and try in Xcode 
Preview 09:37

In this video, we will: 

  • Understand the dictionary syntax
  • Explore how to access dictionary values
  • Learn to iterate over a dictionary 
Dictionary
10:12

In this video, we will: 

  • Understand set and how is it used
  • Explore the set syntax
  • Try it in Xcode 
Set
05:16

In these exercises, try to use good Swift naming style.
01:07
+
Custom Types
5 Lectures 16:47

In this video, we will cover the following topics:

  • Understanding tuple as related values
  • Explore structs in detail
  • Learn to define methods  
Preview 04:58

In this video, we will explore methods and classes. Particularly, we will:

  • Learn to define methods
  • Understand computed properties
  • Learn more about classes 
Defining methods
02:41

In this video, we will learn about custom initializers in detail. Particularly, we will:

  • Understand convenience initializers
  • Explore initializer delegation in class
  • Learn about delegation for structs
Custom initializers
03:01

In this video, we will understand mutable class properties in-depth. Particularly, we will:

  • Understand variable properties
  • Explore class inheritance syntax
  • Learn about subclass initializer delegation
Mutable class properties
04:58

Questions
01:09
+
Protocols
4 Lectures 25:33

In this video, we will learn about protocols, how and why they are used in Swift. Particularly, you will:

  • Explore protocols as types
  • Learn capabilities of types
  • Understand the syntax  
Preview 03:42

In this video, we will learn to define custom protocols. Here is what is in store for you:

  • Explore what are custom protocols
  • Learn the syntax to define them
  • Play in Xcode 
Defining custom protocols
02:44

Now that we have covered how to define custom protocols, we will see how to adopt protocols. Particularly, we will:

  • Learn the basic syntax
  • Explore why to adopt protocols
  • Understand why to use them and try in Xcode 
Adopting protocols
15:12

Assessment
03:55
+
Closures
4 Lectures 28:37

Now that we have understood protocols, we will understand closures in depth. We will cover the following topics:

  • Explore what closure is
  • Learn closure type syntax
  • Understand closure body definition 
Preview 06:25

In this video, we will learn how to use closures in our project. Particularly, you will:

  • Learn about closure function arguments
  • Understand its syntax
  • Try it in Xcode 
Using closures
02:58

In this video, we will learn capturing in closures. Here is what is in store for you:

  • Explore closing over in closures
  • Understand capturing in detail
  • Try it in Xcode 
Closing/capturing
16:39

Assessment
02:35
About the Instructor
Packt Publishing
3.9 Average rating
8,109 Reviews
58,436 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.