Learn How To Code - Professional Swift Development For iOS
4.9 (18 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.
213 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn How To Code - Professional Swift Development For iOS to your Wishlist.

Add to Wishlist

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.9 (18 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.
213 students enrolled
Last updated 8/2016
English
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 18 hours on-demand video
  • 4 Articles
  • 131 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand every aspect of the programming language Swift
  • Develop iOS applications all on your own
View Curriculum
Requirements
  • Mac or PC running OSX
  • Xcode
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!


Who is the target audience?
  • Programming beginners
  • Advanced programmers
Compare to Other Swift Courses
Curriculum For This Course
165 Lectures
18:15:42
+
Introduction
3 Lectures 04:07

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

Preview 02:36


Download the resources we will need for our apps later on

Resources
00:04
+
Swift Basics
23 Lectures 01:06:41

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

Hello, World
03:03

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

Preview 03:38

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.

Preview 03:41

Types Quiz
3 questions

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

Preview 03:45

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.

Preview 02:26

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.

Preview 03:52

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

Preview 02:00

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

Preview 03:28

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

Preview 02:40

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

Preview 03:00

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.

Preview 03:26

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

Preview 02:09

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.

Preview 04:42

The exercises as text

Preview 00:27

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

Preview 03:54

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

Preview 01:55

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

Preview 02:19

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

Preview 03:02

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

Preview 03:40

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

Preview 01:51

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

Preview 02:16

Exercises as text

Preview 00:48

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

Preview 04:39

Final Quiz
6 questions
+
Swift Wiki
70 Lectures 05:22:43

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

Functions I
03:17

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

Functions II
05:40

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

Functions III
06:08

We learn about default parameters and the variadic parameter

Functions IV
05:08

We learn about variable parameters and the special inout parameter

Functions V
04:52

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

Functions VI
03:44

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

Functions VII
04:12

Closures I
05:05

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

Closures II
02:54

We get to know trailing closures

Closures III
05:55

We take a look at the capture of values with closures

Closures IV
04:50

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

Enumerations I
04:47

We learn about associated types for enumerations

Enumerations II
04:47

We learn about Raw Values for enumerations

Enumerations III
04:23

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

Enumerations IV
08:21

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

Classes & Structs I
02:51

We learn more about classes and structs by defining properties

Classes & Structs II
03:30

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

Classes & Structs III
05:28

We learn how we can compare instances with the identical operator

Classes & Structs IV
03:34

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

Properties I
03:04

We get to know a special lazy property

Properties II
03:37

We get to know computed properties

Properties III
05:42

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

Properties IV
03:23

We learn about the difference between instance and type properties

Properties V
06:10

We start learning about methods

Methods I
03:06

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

Methods II
04:40

We learn the difference between instance and type methods

Methods III
06:47

We get to know subscripts

Subscripts
06:21

We learn about inheritance with classes

Inheritance
05:26

We start learning about initialization

Initialization I
04:30

We repeat the default and memberwise initializers

Initialization II
04:54

We learn about the difference between designated and convenience intializers

Initialization III
03:24

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

Initialization IV
02:44

We take a detailed look at initializer delegation

Initialization V
02:50

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

Initialization VI
05:39

We get to know failable initializers

Initialization VII
05:42

We look at the delegation with failable initializers

Initialization VIII
06:01

We finish the chapter initializers with required inits

Initialization IX
02:27

We take a look at deinitializers for classes

Deinitialization
04:16

We get to know Swifts Automatic Reference Counting

ARC I
04:18

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

ARC II
04:58

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

ARC III
02:00

We learn about optional chaining

Optional Chaining
05:17

We start to look at error handling in Swift

Error Handling I
02:22

We start looking at an example for error handling

Error Handling II
06:35

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

Error Handling III
03:46

We learn how we can treat errors as optionals

Error Handling IV
02:57

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

Type Casting I
05:58

We get to know the types Any and AnyObject

Type Casting II
05:49

We learn how we can nest types inside of each other

Nested Types
06:23

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

Extensions I
06:21

We learn how to add methods with extensions

Extensions II
05:36

We get to know protocols

Protocols I
03:44

We learn how to implement methods in protocols

Protocols II
05:46

We learn how to use protocols as types

Protocols III
03:17

We learn about the delegation design pattern using protocols

Protocols IV
06:11

We learn how we can combine extensions and protocols

Protocols V
03:33

We take a look at inheritance with protocols

Protocols VI
01:56

We get to know protocol compositions to combine multiple protocols

Protocols VII
06:03

We learn how to extend protocols with extensions

Protocols VIII
04:54

We get to know generics

Generics I
04:32

We get to know generic types

Generics II
04:03

We take a look at type constraints

Generics III
03:29

We get to know associated types with protocols

Generics IV
02:49

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

Generics V
04:31

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

Advanced Operators I
05:10

We get to know the bit shift operators

Advanced Operators II
04:12

We learn about overflow, associativity and precedence with operators

Advanced Operators III
04:31

We learn how to overload existing operators

Advanced Operators IV
04:23

Finally we learn how to create our own custom operators

Advanced Operators V
07:10
+
Our First App - Simon Says
5 Lectures 59:03

Preview for the Simon Says App


Preview 01:03

We set up our project and get to know auto layout

Simon Says 1 - Project Setup & Autolayout
27:27

We create the GameData class for our app

Simon Says 2 - GameData Class
11:01

We implement our game flow and the game over condition

Simon Says 3 - Game Flow & Gameover
13:07

We finish the Simon Says game

Simon Says 4 - Final Touches
06:25
+
Foodie Groundwork
17 Lectures 02:23:42

Preview for the Groundwork app

Preview 01:12

We repeat auto layout with a simple example

Foodie Groundwork 1 - Autolayout Repetition
09:57

We get to know the UINavigationController which allows for easy navigation in our app using a navigation bar

Foodie Groundwork 2 - UINavigationController I
07:23

We learn more about the UINavigationController and how we can use it effectively

Foodie Groundwork 3 - UINavigationController II
07:10

We get to know the UITableView and start by implementing it statically

Foodie Groundwork 4 - UITableView I
07:20

We learn more about the UITableView and customize it

Foodie Groundwork 5 - UITableView II
09:49

We get to know the UICollectionView and start by implementing a default one

Foodie Groundwork 6 - UICollectionView I
05:09

We learn more about the UICollectionView and implement our own custom cells

Foodie Groundwork 7 - UICollectionView II
05:14

We learn more about auto layout and how we can place elements correctly

Foodie Groundwork 8 - Advanced Autolayout
07:01

We get to know the UIPickerView and implement it in our app

Foodie Groundwork 9 - UIPickerView
11:15

We get to know UITextFields and how we can react to the input

Foodie Groundwork 10 - UITextField
05:44

We get to know the UIImagePicker and with it the camera and access to the photos on our device

Foodie Groundwork 11 - UIImagePicker
08:00

We test our app on a real device and talk about differences between an actual device and the simulator

Foodie Groundwork 12 - Simulator vs Device Testing
02:06

We get to know the MapKit and CoreLocation frameworks

Foodie Groundwork 13 - MapKit & Core Location I
09:33

We learn more about the two frameworks and track our location on a map

Foodie Groundwork 14 - MapKit & Core Location II
16:10

We get to know the UIPageViewController and how we can use it to swipe between views easily

Foodie Groundwork 15 - UIPageViewController
13:41

We present you an example solution for the DetailViewController

Foodie Groundwork 16 - DetailViewController Example Solution
16:58
+
Turn Based Multiplayer - Tic Tac Toe
4 Lectures 37:31

Preview for the Tic Tac Toe app

Preview 00:47

We start with the layout of our Tic Tac Toe app

Tic Tac Toe 1 - Layout
11:23

We implement the game flow for the Tic Tac Toe game

Tic Tac Toe 2 - Multiplayer
15:37

We use our new knowledge to implement a multiplayer solution for our Simon Says app

Simon Says 5 - Multiplayer
09:44
+
Soundboard
5 Lectures 47:41

Preview for the Soundboard app

Preview 00:29

We design the layout for our Drumpad

Soundboard 1 - Drumpad Layout
11:10

We get to know the AVFoundation framework, which we will use for in-app audio

Soundboard 2 - AVFoundation & AVAudioPlayer
08:28

We get to know AVAudioRecorder for recording our own audio, which we can then play back

Soundboard 3 - AVFoundation & AVAudioRecorder
22:25

We use our new knowledge about audio to implement sounds into our Simon Says app

Simon Says 6 - Audio
05:09
+
Multiple Choice Quiz
7 Lectures 01:06:18

Preview for the Quiz app

Preview 01:05

We set up our project and some general settings

Quiz 1 - Project Setup
11:56

We design the layout for our quiz

Quiz 2 - Quiz Layout
06:41

We work on our quiz layout some more to create a great user experience

Quiz 3 - Layout Optimizations
09:01

We learn how we can build static resources into our app using plists

Quiz 4 - Plist Resources
14:59

We implement the logic of our quiz game

Quiz 5 - Functionality
10:57

We add the countdown time and highscores

Quiz 6 - NSTimes & Highscore
11:39
+
SpriteKit Game
19 Lectures 02:50:49

Preview for the SpriteKit Game

Preview 01:15

We get to know the SpriteKit Framework in general

SpriteKit Game 1 - Introduction to SpriteKit
05:36

We get to know the SKScene and SKView classes

SpriteKit Game 2 - SKView & SKScene
04:24

We get to know the SKNode class

SpriteKit Game 3 - SKNode
05:36

We get to know the SKSpriteNode class

SpriteKit Game 4 - SKSpriteNode
09:34

We learn how we can use physics in our game

SpriteKit Game 5 - SKPhysics I
09:18

We learn more about SKPhysics

SpriteKit Game 6 - SKPhysics II
06:07

We create own subclasses of SKNode to get some further functionality

SpriteKit Game 7 - Subclassing SKNode
09:44

We finally get things moving in our game

SpriteKit Game 8 - Motion
08:54

We add enemies to our game

SpriteKit Game 9 - Enemies I
09:36

We learn how we can make our player jump when we tap

SpriteKit Game 10 - Jumping
08:07

We add coins and scorepoints which we have to collect

SpriteKit Game 11 - Coins & Scoring
18:57

We work some more on the enemies in our game

SpriteKit Game 12 - Enemies II
10:48

We use NSUserDefaults to save some values persistently

SpriteKit Game 13 - NSUserDefaults
03:42

We learn about different ways to animate objects in our game

SpriteKit Game 14 - Animation
05:21

We create an own button class for a SpriteKit app

SpriteKit Game 15 - SpriteKit Button
12:20

We start implementing the store for our game

SpriteKit Game 16 - Store I
08:27

We finish our store and are now able to buy upgrades

SpriteKit Game 17 - Store II
21:31

The last step is adding our Upgrades to the game so we can actually use them

SpriteKit Game 18 - Invincibility Implementation
11:32
+
Foodie
10 Lectures 02:53:49

Preview for the Foodie app

Preview 01:26

We get to know the CoreData framework and save values we can then retrieve again

Foodie 1 - Introduction to Core Data
24:43

We create an own class for handling CoreData calls more conveniently

Foodie 2 - CoreDataStackManager Class
17:23

We implement the AddViewController which we can use to add new entries

Foodie 3 - AddViewController
14:25

We implement the BrowseViewController which we can use to see all of our entries

Foodie 4 - BrowseViewController
10:20

We customize our UICollectionView to make our FavoritesViewController look absolutely amazing

Foodie 5 - Custom UICollectionView Layout
38:23

We implement the DetailViewController and work with NSPredicates to filter our results

Foodie 6 - DetailViewController & NSPredicates
29:48

We use the Maps app to navigate to our restaurants

Foodie 7 - Navigation With Maps
17:04

We learn how we can edit existing entries in CoreData and update them accordingly

Foodie 8 - Editing Entries
07:02

We present an example solution for the gallery and the random function

Foodie 9 - Gallery & Random
13:15
2 More Sections
About the Instructor
Timothy Meixner
4.5 Average rating
1,100 Reviews
13,409 Students
19 Courses
RUME Academy

English:

I am a web and mobile application developer with more than six years of working experience. During the last couple of years, I have published multiple apps as well as websites, alongside my business partner and friend Johannes Ruof, who some of you might know from the great courses we've done together here on Udemy. 

But I'm not just a teacher I am also a student and currently getting my Bachelor's Degree in Mobile Media at Stuttgart Media University. I strive to give you a learning experience where you are as involved as possible, which is why most of my courses will offer exercises or quizzes. 

Since I've been on Udemy I could already help more than 13000 students start their iOS developer career and I would love to help you as well.

Deutsch:

Seit 2012 bin ich als iOS Entwickler tätig und habe bereits mehrere Apps und Webseiten veröffentlicht.  Neben der Programmierung fühle ich mich besonders im digitalen sowie Social Media Marketing & Management wohl.  Zusammen mit Johannes Ruof habe ich vor einiger Zeit die Rume Academy gegründet, die Anlaufstelle für alle die iOS Entwickler werden wollen. 

Im Moment studiere ich an der Hochschule der Medien in Stuttgart im Studiengang Mobile Medien, wo ich mein Wissen noch weiter ausbauen kann. Auf Udemy unterrichte ich hauptsächlich die Programmierung in Swift und konnte bereits jeder Menge Studenten helfen, ihre Karriere als iOS Entwickler zu starten. Ich würde mich freuen dich in einem unserer Kurse begrüßen zu dürfen. 

Johannes Ruof
4.5 Average rating
1,100 Reviews
13,409 Students
19 Courses
RUME Academy

Deutsch

Ich bin seit 2012 als iOS Entwickler tätig und habe viel Erfahrung in der Programmierung mit Objective-C, C und C++. Seit der Vorstellung von Swift durch Apple habe ich die Programmiersprache benutzt und habe damit Erfahrung seit Tag 1 als aktiver Anwender und Programmierer.

Ich freue mich darauf, hier auf Udemy mein Wissen mit meinen Studenten zu teilen und damit hoffentlich einen positiven Einfluss auf so viele Menschen wie möglich haben zu können und auch durch meine Tätigkeit als Dozent weiter dazuzulernen.

English

I have been developing iOS applications since 2012 and have 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