Hacking with Swift 2 - Beginner to Pro - Build 20 Apps
4.6 (302 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.
4,764 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Hacking with Swift 2 - Beginner to Pro - Build 20 Apps to your Wishlist.

Add to Wishlist

Hacking with Swift 2 - Beginner to Pro - Build 20 Apps

Learn how to work with Apple's fun new language "Swift", and go from a newbie to transforming your ideas into real apps
4.6 (302 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.
4,764 students enrolled
Last updated 1/2017
Current price: $10 Original price: $75 Discount: 87% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 27.5 hours on-demand video
  • 1 Article
  • 24 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Create your own amazing apps using your new skills combined with your unique creativity
  • Become completely proficient with Swift and IOS App Development
View Curriculum
  • You will need a Mac, and Xcode 7 which is a free download from the App Store, and simply a desire to transform your ideas into an amazing app

This course aims to show you that building IOS Apps with swift is fun and relatively easy. Learn how to create 20 apps using apples new language Swift. Each app will be a bit more complex, but we build it together, so theres no guesswork as to the process and what the code is doing. A lot of work goes into my courses to make the code as easy to understand as possible..i use callout graphics, highlighting, and deep explanations to help guide you along the path of the code, each step of the way. 

Some of what you will be leaning:

  • Featuring apps built by the award winning programmer Paul Hudson of HackingWithSwift dot com
  • The Swift language - we go from variables to creating our own functions and more
  • Learn Swift by use of diagrams / highlighting / graphics
  • Learning the ins and outs of Xcode 7 and its many attributes
  • Working in storyboards and all it nuances
  • How to use with controls / Outlets and Actions
  • How to use logic for smooth control flow
  • Using segues and passing data, in storyboards, and programmatically
  • Using delegates and protocols
  • Adding audio / Animations
  • Master strings in Swift
  • Working with the NSTimer class
  • Using stackView
  • The new safari view controller class
  • Using core image
  • Using core data
  • Implement a slide-out controller to use as a settings page or other data
  • Learn the best Debugging Techniques
  • Using core spotlight
  • iAds - Learn how to add advertising to your apps
  • Working with the many swift classes available to us
  • More than 30 hours of video describing the details of building iOS apps
  • Creating an iCloud app
  • Using Push Notifications in an app
  • SpriteKit / Build a Flappy Bird Clone in under 1 hour
  • Learn sketch 3 (fast becoming the industry standard for UI design)
  • Autolayout easy and advanced - create constraints using VFL
  • Learn how to work with JSON data in swift
  • All videos are recorded in HD for maximum resolution and clarity

Swift is the new language of the future, And with this course you will get plenty of instruction on how to implement Swift code in unique ways, in an easy to understand step by step format. Everything is explained in detail using graphics, animations, and annotations, so there's no guesswork as to how or why the code works the way it does, it just all makes sense, and is easy to implement, and before you know it you will have built yourself a wonderful working app that you can submit to the app store.

This course assumes you have no programming experience, so its perfect for the beginner. Its also a nice fit for the intermediate and experienced coder as the course covers advanced techniques as well...like creating autolayout constraints in code using VFL.

By adding your own creativity and data, you will be transformed into an Apple Developer in a very short time.

Happy Coding :-)

Who is the target audience?
  • This course is for those who are new to IOS developing and have a burning desire to get their own creative ideas translated into an app ready for the app store, and for the intermediate and advanced developer as well
  • This is the perfect course if your coming from another language like Objective C or any other language, and you'll see how easy it is to transition to swift.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
211 Lectures
Getting to know Xcode 7
10 Lectures 01:07:54

The first part of a 6 part series that introduces the student to the Xcode environment.

Part 1 - Getting to Know Xcode 7

This tutorial shows how the student can use the navigator pane to access, organize, and add files to the project.

Part 2 - The Project Navigator - Adding files to the project

The navigator pane is continued here in this tutorial.

Part 3 - The Navigators Continued

Here we explore the various library panes in Xcode, their purpose and how to use them.

Part 4 - Template, Code Snippet, and Media Libraries

This tutorial shows the student where all the controls (view) are kept for storyboards, in the object library...as well as how to place those controls on your canvas, and see their hierarchal order using the document outline.

Part 5 - Utilities Pane - The Object Library and Document Outline

We wrap up the Xcode tutorial with some final tips.

Part 6 - Xcode wrap up

A simple app that will get you familiar with creating a user interface with various controls, hooking them up to actions and outlets, and creating segues to move between view controllers.

Working with controls - Part 1 - Getting to know controls - Creating segues

Here we learn to add code in our view controller file that make things happen in our app. Things like making everything invisible or reappear by flipping a switch, changing the background color with a button press, or using a slider to change the value of a number inside of the label.

Working with controls - Part 2 - Adding some code
The Swift Language - Swift 2.2
27 Lectures 03:44:34

Students will learn about declaring and using variables and constants.

Variables / Constants Part 1

This tutorial will present the various data types in swift, and show the difference between type annotation and type inferrence.

Variables / Constants Part 2 - Data Types - Type Annotation - Type Inference

Students will learn about the various operators that swift gives us.

Operators - Part 1 - Unary, Binary, Ternary, Assignment, and Remainder operators

This tutorial continues with presenting even more of the swift operators.

Operators - Part 2 - Increment, Decrement, Minus Unary, Compound, Nil Coalesing

This final tutorial on operators finishes with demonstrating the range and logical operators.

Operators - Part 3 - Range, and Logical operators

This tutorial starts off a demonstration on syntax / declaration, and return, of swift functions.

Functions - Part 1 - Declaring / Syntax / Return

This tutorial delves into how to work with various functions in swift.

Functions - Part 2 - Working with functions

Functions - Part 3 - Working with more functions

This tutorial shows the student what a nested function is and how to use them.

Functions - Part 4 - Nested functions

Learn all about optionals, why there needed and when to use them.


Learn about structs in this tutorial,and see the similarities between them and classes.


Here you will learn all about computed properties, and see their purpose and value in the swift language.

Computed Properties

Learn about the power of extensions, and how you can extend an existing class to give it extra functionality.


This tutorial will teach you all about property observers, which are swift properties that can notify you when a variable has its value changed.

Property Observers

The first of a 2 part tutorial that teaches the student all about protocols and delegation.

Protocols and Delegation Part 1 - Syntax and declaring - Adding functions

Part 2 of the protocols and delegation tutorial.

Protocols and Delegation Part 2 - Adding properties - Delegation- Static keyword

Learn how to model your variables with enumeration's.

enums part 1

Part 2 shows a more advanced way of working with enums.

enums part 2

This tutorial teaches the student all about the power of generics.

Generics part 1

Part 2 dives deeper and shows more examples of generics in action.

Generics part 2

Part 1 of type casting introduces the "as" and "is" operators.

Type Casting - Part 1 - The "as" and "is" operators

The final part of type casting shows the usage of "any" and "anyObject".

Type Casting - Part 2 - Using AnyObject and Any

Learn about nested types inside of classes and other types.

Nested Types

Learn all about tuples, their syntax and how to use them.


The first part of a 3 part tutorial shows the closure expression syntax, and its optimization features.

Closures Part 1 - Syntax and Optimizations

Part 2 will teach the student all about trailing closures.

Closures Part 2 - Trailing Closures

In the final part of the closure tutorial the student will learn what is meant by "capturing values".

Closures Part 3 - Capturing Values
Control Flow
4 Lectures 28:09

We start off with learning all about the "if statement" and nested ifs.

if statement - else if - nested if's

This tutorial teaches the student all about the switch statement, which is an alternative to the if statement.

Switch Statement

Learn how to use for in loops and see how to iterate over collections with them.

For-in loops

We close out the control flow tutorials with an example of the while and repeat while loops.

While loop - repeat while loop
7 Lectures 43:43

We start off the collections tutorials with learning how to declare and initialize an array.

Arrays - Part 1 - Declaring and initialiizing an array

We move into the hows of accessing and modifying an array.

Arrays - Part 2 - Accessing and modifying an array

We finish up arrays with a continuation of accessing and modifying them.

Arrays - Part 3 - More of accessing and modifying an array

Learn about dictionaries, and how they use key-value pairs as their elements.

Dictionaries - Part 1

We finish up dictionaries by learning how to iterate over them, as well as accessing their keys or values.

Dictionaries - Part 2

This collection is unlike an array in that no two elements can be the same. See how to use the many set functions available to access those elements.

Sets Part 1 - Declaring and initializing them

We finish the set tutorial with learning all about the "set membership" functions available in swift.

Sets Part 2 - Accessing and modifying - Set membership functions
4 Lectures 26:17

The first part of a four-part tutorial that demonstrate the use of string literals, it's mutability, and string interpolation.

Strings Part 1 - Literals, Mutability, Interpolation, Characters

Learn how to access and modify a string.

Strings Part 2 - Accessing and modifying strings

We dive deeper into the methods available to us that allow us to access and modify strings.

Strings Part 3 - More accessing and modifying strings

We close out the string tutorial with an even deeper dive into the many methods available to access and modify a string.

Strings Part 4 - Even more of accessing and modifying strings
Classes - Properties - Inits - Subclassing
2 Lectures 17:21

Learn all about classes and properties in the swift language as well as initializers.

Classes - Properties - inits

See how to subclass from other classes and use the parents class methods and properties.

Swift 2 - Whats New?
3 Lectures 17:32

Learn all about the new features in swift 2.2, including the print, the do try catch, and the repeat while loop.

Print - do try catch - repeat while

Here we learn all about the guard statement in swift.

The guard statement

See what counting strings, compiler warnings and synthesized headers are all about and swift.

Counting Strings - Compiler Warnings - Synthesized Headers - Protocol Extensions
4 Lectures 30:13

In this tutorial you will learn all about using the print() function to help debug your code.

Part 1 - Using print() for debugging

See how to use assertions and why they crash our code on purpose.

Part 2 - Assertions

You Will learn all about breakpoints and they're placement, as well as learning how to step through your code line by line to see your variables values at any given point in the codes execution. You will also learn about conditional breakpoints, those are breakpoints that are activated by a condition that you set.

Part 3 - Breakpoints - Conditional Breakpoints

Learn about the new feature in Xcode called "debug view hierarchy" which allows you to debug your UI components and controls in 3-D, see how all the pieces fit together to create a single control, and learn how all of the views that we place on our view controller are all layered in a hierarchy that goes all the way back to UIWindow.

Part 4 - View debugging
Beginner Apps - 4 easy to build apps for the beginning level
13 Lectures 01:46:29
Beginner Apps Intro

RGB part 1 - User Interface setup - Outlets and Actions

RGB part 2 - Adding labels and logic

RGB Part 3 - Add the reset and animation

Ad Libs Generation - Part 1 - Setting up the UI

Ad Libs Generation - Part 2 - Outlets and actions

Ad Libs Generation - Part 3 - Delegate - IBActions

This app will teach you how to animate labels and buttons, as well as other controls that slide in and out of the users screen.

Crazy Animal Facts - Part 1 - Setting up the UI

Animating the elements when he view loads up, creating an array of strings facts

Crazy Animal Facts - Part 2 - Animating the labels and button

Making the banner flip and display a new fact, expanding and shrinking the button

Crazy Animal Facts - Part 3 - Expanding and shrinking the button

Fun with animating part 1 - Setup

Fun with animating part 2 - Adding a pause and randomize function

Fun with animating part 3 - Xcode 7.3 Updates
Project 1 - Storm Viewer
7 Lectures 52:08
Storm Viewer Intro

Part 1 - Setup

Part 2 - Deleting Sleleton Code

Part 3 - Listing Images with NSFileManager

Part 4 - Introducing Interface Builder

Part 5 - Loading images with UIImage

Part 6 - Final Tweaks - HidesBarsOnTap
21 More Sections
About the Instructor
Stephen DeStefano
4.6 Average rating
893 Reviews
8,190 Students
9 Courses
iOS / macOS Developer / Swift Instructor

My name is Steve DeStefano, an iOS instructor, and working together with Paul Hudson, the award winning Swift programmer, i've transfered his best selling iOS / macOS / watchOS, and other books into lecture style courses. So your getting the best instruction available for everything Apple. Paul's teaching method has been hailed as one of the best ways to learn how to code in the shortest amount of time, and he has received high praise from the creator of the Swift language, Chris Lattner. I offer a unique way of presenting Paul's material, which is with the help of callouts, highlighting and graphics, all to make it easy to follow the path of the code, and understand the content. If your think this might be too difficult, think again, and then come code along with Paul and me, and see how easy it is to learn Swift and app building. Go from a newbie to an Apple developer in a short amount of time, and see your own unique creations in the App Sore, and in the hands of thousands of people. 

Andrew Eddy
4.4 Average rating
3,621 Reviews
66,975 Students
7 Courses
Graphic Designer, Entrepreneur, & Instructor

I am a graphic designer, entrepreneur, and lead instructor at the Academy X design school. I am passionate about working with startups and have launched several successful businesses. Learn how to design from my "jump right in" teaching style.

"I am a nerd. I love everything technology, and making the virtual world a more beautiful place is my passion." -Andrew

I currently live in Atlanta, where I am the CEO of a security software company. I began designing mobile applications and websites in college. UX/UI design came so naturally that, I knew it was the career for me. I like to say I am a Economics major with a computer science addiction. I won the College of Charleston Entrepreneur of the Year award when I was a senior in college.

I have worked as a graphic designer for an array of different size companies from startups, all the way to fortune five hundred companies such as Coca-Cola.

I have experience designing logos, branding, UI design, UX research, rapid prototyping, and web development.

I have been a freelance web developer since 2009 and have contributed countless beautiful websites to the internet.

I have served as the creative director for an emerging financial technology startup.

I have served as a UI designer for a non profit, SPLASSH, a company that crowdsources projects about the way we consume information about water.

My motto is to teach by doing. In my courses, you will jump right into the subject and learn to design by actually designing. Recreating app designs and learning as you go is the best way to learn in my opinion.

My goal is to give my students the ability to change their career with the skills they learn in my classes.