Learn How To Code - Professional Swift Development For iOS

Learn all there is to know about Swift and apply your knowledge by developing applications for iOS
4.6 (11 ratings) 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.
95 students enrolled
$19
$200
90% off
Take This Course
  • Lectures 165
  • Length 18.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2016 English

Course Description

Want to learn everything there is to know about Apple's programming language Swift and have some fun developing awesome iOS applications on the way?

You have found the right course!

We have put our knowledge in a course that follows a hands-on approach even in the theoretical parts!

By taking this course you will learn every aspect of Swift to be able to develop your own applications with ease. To make this even easier we will talk about different applications and provide examples for a lot of different functionalities.

No copy and pasting of code without understanding what it does!

We want for you to become proficient at what you do and be able to use the knowledge gained throughout the course to help your career and future plans!

We are here to help you understand everything we talk about and have done our best to achieve this. If however you still have questions we will gladly help you  personally in the Q&A section here on Udemy.

We will provide you with all the resources you need to build everything included in this course, including step by step source codes for all of the projects!


What are the requirements?

  • Mac or PC running OSX
  • Xcode

What am I going to get from this course?

  • Understand every aspect of the programming language Swift
  • Develop iOS applications all on your own

What is the target audience?

  • Programming beginners
  • Advanced programmers

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

02:36

We introduce ourselves and give you a brief overview of what we are going to learn

Before you start
Preview
01:27
Article

Download the resources we will need for our apps later on

Section 1: Swift Basics
03:03

We write our first own little program which will say Hello, World

03:38

In this lecture we will get to know variable and constants in Swift and learn about the difference between the two

03:41

In this lecture we will take a look at the four most basic types in Swift: Int, Double, String and Bool. We will also learn how to implicitly and explicitly declare the type of a variable or constant.

Types Quiz
3 questions
03:45

In this lecture we will learn how we can use our newly learned knowledge to complete some easy mathematical tasks.

02:26

In this lecture we will learn about two more important types in Swift: Arrays & Dictionaries. We will create an array and a dictionary and see how they both work.

03:52

In this lecture we will take another look at arrays and dictionaries. We will learn how we can add, delete and replace entries in both types.

02:00

In this lecture we will take a look at declaring variables without initialization. Additionally we will learn how to create empty arrays and dictionaries.

03:28

In this lecture we will start learning about operators by taking a look at the assignment operator, arithmetic operators and the remainder operator.

02:40

In this lecture we will meet more operators. The incrementing and decrementing operator and the unary plus and minus operators.

03:00

In this lecture we will handle even more operators. The compound assignment operators and comparison operators.

03:26

In this lecture we will learn about if-statements and how we can execute certain code depending on wether a condition returns true or false.

02:09

In this lecture we will learn about conventional for-loops. These are used to execute certain code multiple times.

04:42

In this lecture we meet another special for-loop. The for-in loop and we will use it to easily iterate over arrays and dictionaries. There will also be some exercises for you at the end of this lecture.

Article

The exercises as text

03:54

In this lecture we will in detail talk about the exercises give in the last lecture.

01:55

In this lecture we will learn about another loop - the while-loop.

02:19

In this lecture we will learn about switch-statements which are used to easily check multiple cases and execute the adequate code.

03:02

In this lecture we will learn about the ternary operator and the nil coalescing operator.

03:40

In this lecture we will learn some last operators for this course, the range operators and the logical operators.

01:51

In this lecture we will take a look at a simple example where we can use the logical operators from the last lecture.

02:16

This lecture contains some more exercises for you to try and work with your new knowledge.

Article

Exercises as text

04:39

In this lecture we will again in detail talk about the exercises from the last lecture.

Final Quiz
6 questions
Section 2: Swift Wiki
03:17

We start to look at functions in Swift by writing our first very own function

05:40

We extend our first method and learn about functions without parameters or return values

06:08

We get to know functions with multiple return values and how we can access them

05:08

We learn about default parameters and the variadic parameter

04:52

We learn about variable parameters and the special inout parameter

03:44

We get to know function types and how we can use them

04:12

We get to know closures and how they are different from functions

Closures I
05:05
02:54

We simplify the closure from before and learn new things about the default parameters of a closure

05:55

We get to know trailing closures

04:50

We take a look at the capture of values with closures

04:47

We get to know enumerations and define our first very own type in Swift

04:47

We learn about associated types for enumerations

04:23

We learn about Raw Values for enumerations

08:21

We take a look at recursive enumerations and use them to solve an arithmetic problem

02:51

We get to know classes and structures that enable us to define more own types in Swift

03:30

We learn more about classes and structs by defining properties

05:28

We learn the important difference between value types(Structs) and reference types(classes)

03:34

We learn how we can compare instances with the identical operator

03:04

We take a closer look at properties and start by repeating stored properties

03:37

We get to know a special lazy property

05:42

We get to know computed properties

03:23

We get to know the property observer which enables us to react to changes of property values

06:10

We learn about the difference between instance and type properties

03:06

We start learning about methods

04:40

We get to know the property self and why we need it

06:47

We learn the difference between instance and type methods

06:21

We get to know subscripts

05:26

We learn about inheritance with classes

04:30

We start learning about initialization

04:54

We repeat the default and memberwise initializers

03:24

We learn about the difference between designated and convenience intializers

02:44

We take a look at the initializer chain with the security checks

02:50

We take a detailed look at initializer delegation

05:39

We look at a quick example of what we have learned about initializers so far

05:42

We get to know failable initializers

06:01

We look at the delegation with failable initializers

02:27

We finish the chapter initializers with required inits

04:16

We take a look at deinitializers for classes

04:18

We get to know Swifts Automatic Reference Counting

04:58

We learn about the problem of strong reference cycles and how we can avoid them

02:00

We get to know the keyword unowned and how it can help us avoid strong reference cycles

05:17

We learn about optional chaining

02:22

We start to look at error handling in Swift

06:35

We start looking at an example for error handling

03:46

We get to know do-catch-statements for error handling

02:57

We learn how we can treat errors as optionals

05:58

We get to know type casting and the is and as operators

05:49

We get to know the types Any and AnyObject

06:23

We learn how we can nest types inside of each other

06:21

We get to know extensions and how we can use them to extend types

05:36

We learn how to add methods with extensions

03:44

We get to know protocols

05:46

We learn how to implement methods in protocols

03:17

We learn how to use protocols as types

06:11

We learn about the delegation design pattern using protocols

03:33

We learn how we can combine extensions and protocols

01:56

We take a look at inheritance with protocols

06:03

We get to know protocol compositions to combine multiple protocols

04:54

We learn how to extend protocols with extensions

04:32

We get to know generics

04:03

We get to know generic types

03:29

We take a look at type constraints

02:49

We get to know associated types with protocols

04:31

We get to know the where keyword and how we can use it with generics

05:10

We get to know the bitwise AND, NOT, OR and XOR operators

04:12

We get to know the bit shift operators

04:31

We learn about overflow, associativity and precedence with operators

04:23

We learn how to overload existing operators

07:10

Finally we learn how to create our own custom operators

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Timothy Meixner, RUME Academy

I'm currently studying economics and work as a teacher on Udemy. I have worked in digital publishing and viral marketing for more than three years.

I am also a web and mobile application developer with almost four years of working experience. But my greatest passion is designing and developing mobile games for iOs devices, in either Objective C or Swift.

My teaching philosophy is best described in the words of Benjamin Franklin:

"Tell me and I forget. Teach me and I remember. Involve me and I learn."

I hope that we can create many beautiful things together and learn from each other.

Instructor Biography

Johannes Ruof, RUME Academy

I study Applied Computer Science and teach at the university and here on udemy. I have been developing iOS applications for over 3 years and have 5 years of experience in Objective C Programming. Since Apple announced Swift I have been using it in my programming and can proudly say I have experience since Day 1 of the language.

I am looking forward to sharing my knowledge with my students and hopefully have a positive impact on the lifes of as many people as possible as much as learning new things myself.

"You are never too old to set another goal or to dream a new dream." - C. S. Lewis


Ready to start learning?
Take This Course