Programming in Swift

Learn about Apple’s open source programming language, Swift, through hands-on examples! This series is up-to-date for Swift 4 and uses Xcode 9. By Ray Wenderlich.

Leave a rating/review
Save for later
Comments
Share

Part 1: Part 1: Core Concepts

01
Toggle description

Let's review what you'll be learning in this section, and why it's important.

02
Toggle description

Learn how to create your first Swift playground, and see how useful it can be to learn Swift, and use in day-to-day development.

03
Comments 1:38
Toggle description

Learn the various ways to add comments to your Swift code - a useful way to document your work or add notes for future reference.

04
Tuples 5:23
Toggle description

Learn the group related data together into a single unit, through the power of a Swift type called Tuples.

Toggle description

Practice using tuples on your own, through a hands-on challenge.

Booleans 7:44
Toggle description

Learn how to use a Swift type called Booleans, which represent true or false values.

Toggle description

Practice using booleans on your own, through a hands-on challenge.

Scope 3:16
Toggle description

Learn what the concept of scope means in Swift, and how it applies to if statements.

Conclusion 0:48
Toggle description

Let's review where you are with your Swift core concepts, and discuss what's next.

Part 2: Part 2: Flow Control

Toggle description

Let's review what you'll be learning in this section, and why it's important.

Toggle description

Learn how to make Swift repeat your code multiple times with while loops, repeat while loops, and break statements.

Toggle description

Practice using while loops on your own, through a hands-on challenge.

For Loops 7:30
Toggle description

Learn how to use for loops in Swift, along with ranges, continue, and labeled statements.

Toggle description

Practice using for loops on your own, through a hands-on challenge.

Toggle description

Learn how to use switch statements in Swift, including some of its more powerful features.

Toggle description

Practice using switch statements on your own, through a hands-on challenge.

Conclusion 0:55
Toggle description

Let's review what you learned in this section, and discuss what's next.

Part 3: Part 3: Functions and Optionals

Toggle description

Let's review what you'll be learning in this section, and why it's important.

Toggle description

Learn how to write your own functions in Swift, and see for yourself how Swift makes them easy to use.

Toggle description

Practice writing functions on your own, through a hands-on challenge.

Toggle description

Learn some more advanced features of functions, such as overloading, inout parameters, and functions as variables.

Toggle description

Learn about one of the most important aspects of Swift development - optionals - through a fun analogy.

Toggle description

Practice using optionals on your own, through a hands-on challenge.

Toggle description

Learn how to unwrap optionals, force unwrap optionals, use optional binding, and use the guard statement.

Toggle description

Practice working with optionals on your own, through a hands-on challenge.

Conclusion 0:42
Toggle description

Let's review where you are with your Swift core concepts, and discuss what's next.

Part 4: Part 4: Collections

Toggle description

Let's review what you'll be learning in this section, and why it's important.

Arrays 13:29
Toggle description

Learn how to use arrays in Swift to store an ordered list of values.

Toggle description

Practice using arrays on your own, through a hands-on challenge.

Toggle description

Learn how to use dictionaries in Swift to store an unordered collection of pairs.

Toggle description

Practice using dictionaries on your own, through a hands-on challenge.

Sets 2:20
Toggle description

Learn how to use Sets in Swift to store an unordered collection of unique values.

Closures 10:34
Toggle description

Learn how to create closures in Swift - which you can think of as a method without a name.

Toggle description

Learn how you can use closures to sort collections, filter collections, run calculations on elements within a collection, and more.

Toggle description

Practice using closures on your own, through a hands-on challenge.

Toggle description

Learn which collection you should use in a given situation.

Strings 15:03
Toggle description

Learn how a string works in Swift, along with some useful things you can do with strings - and why strings are collections too.

Conclusion 0:36
Toggle description

Let's review what you learned in this section, and discuss what's next.

Part 5: Part 5: Structures

Toggle description

Let's review what you'll be learning in this section, and why it's important.

Structures 13:20
Toggle description

Learn how to group data and functionality together in Swift, using a value type called structures.

Toggle description

Practice using structures on your own, through a hands-on challenge.

Protocols 5:40
Toggle description

Learn how to make your types conform to protocols in Swift, which you can think of as a to-do list for your types.

Properties 14:14
Toggle description

Learn how to add two types of properties to your types: stored properties, and computed properties.

Toggle description

Practice creating properties on your own, through a hands-on challenge.

Toggle description

Learn when it's best to use computed properties, and when it's best to use methods.

Methods 10:38
Toggle description

Take a deep dive into methods, including writing initializers, mutating methods, extensions, and more.

Toggle description

Practice writing methods on your own, through a hands-on challenge.

Toggle description

Let's review what you learned in this section, and discuss what's next.

Part 6: Part 6: Classes

Toggle description

Let's review what you'll be learning in this section, and why it's important.

Toggle description

Learn about the differences between classes and structures in Swift, and when you should use which.

Toggle description

Practice working with classes and understanding when to use them vs. structures, through a hands-on challenge.

Inheritance 15:25
Toggle description

Learn how you can inherit functionality from another class in Swift.

Toggle description

Learn how to create your own class initializers, including two-phase initializatoin, and required vs. convenience initializers.

Toggle description

Practice creating your own class initializers, through a hands-on challenge.

Toggle description

Learn when you should subclass, and when you shouldn't.

Toggle description

Learn how Swift manages memory under the hood, how you can tell when an object is deinitialized, and how you can avoid a nasty memory leak in your apps.

Conclusion 0:52
Toggle description

Let's review where you're at with your Swift core concepts, and discuss what's next.