
This video provides an overview of the entire course.
In this video, we will introduce the two types; Date and TimeInterval"
This video aims to explain us that the DateComponents type allows us to construct and modify dates using a convenient API.
In this video, we will understand that presenting dates to users in international applications is not a simple task. Fortunately, foundation provides a range of formatting types that makes this easy.
In this video, we will be introduced to the standard library's full collection of protocols, and start looking at a handful of simple protocols that you can adopt on your types to make them more powerful.
To wrap up our exploration of standard library protocols for now, let's look at some more complex protocols, and introduce the concept of associated type.
We first must be able to identify which method and functions can throw errors. Then we'll look at the syntax and conventions required to handle them.
Now that we can handle errors, let's start looking at some key types we will need to handle resources. We will start with URL, and its supporting partner, URLComponents.
When we access resources we usually start with the raw bytes of that resource, so let's finish up by covering the Data type.
Let's start by introducing the concept of bundles in the user-space of macOS. We will learn that playgrounds are also bundles.
Bundles provide a convenient API for accessing contained resources. Once we have located them, we can also start reading their contents.
When working outside of bundles, foundation also provides the full FileManager type, giving powerful access to most of the desktop file system. We will be introduced to it here.
In this video, we will demonstrate the powerful new Swift 4 features that allow us to work productively with the popular JSON data format.
In order to work with Swift access control, we must first understand the way the language understands units of organization. Then we can look at how different access control levels apply.
Now that we understand access control levels, let's start applying them to your own custom types.
In this video, we will learn how Optionals work.
Now that we've learnt more about Optional we can use this knowledge to our advantage with more complex pattern matching in switch statements.
These are two quite unique and elegant flow control features in Swift. In this video, we will learn them so you can start using them.
String is a complex type, but it doesn't need to be challenging to work with. We will understand why it can seem so complicated, and learn how to make the most of this powerful type.
Swift takes inspiration from many languages, and functional languages are some of those. We will learn about how to use filter, map, reduce, and flatMap with Swift collections.
We will return to String once again, and look at it as a collection itself. Then we can apply some of the functional transforms we just learnt about to String as well.
This is the first time we will be performing asynchronous operation in Swift code. This means we need to use some additional features to wait for results in a playground. We will also use RunLoop to do the same in a Swift script.
We will cover the types used to generate and handle requests. We will download some data from a URL and handle the various result conditions.
In this video, we will create our first Xcode project, and explore some of the features of Xcode.
Now that you have access to the full LLDB debugger user interface, you can start setting breakpoints and inspecting variables in order to make your Swift coding much more productive.
Swift is a general-purpose, multi-paradigm, and compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
You will begin with understanding the standard library protocols. Next, you will explore the Foundation framework and concepts such as working with Date, reading from a file, and making a simple network request. You will then learn intermediate optionals, strings, flow control, types, and closures. You will also explore error handling along with an introduction to Swift’s memory management model.
By the end of this course, you will be able to use Swift to write simple command-line utilities to run on an Apple platform or Ubuntu Linux.
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.