Screencasts

Top 20 Screencasts

Get started today with some of our most watched screencasts.

Protocol Oriented Dependency Injection

8 minutes

Tight coupling between view controllers in your application can lead to difficult maintenance as you add and remove features. This video will explore how using Protocols can make our Dependency Injection more loosely coupled. This improves the flexibility of the code and makes our application easier to change.

Dynamic Stack Views

9 minutes

UIStackViews are a relatively new addition to UIKit, appearing with iOS 9. They are quite useful because they eliminate the need for many Auto Layout constraints in common screen designs, making them easier to modify and maintain.

Creating a State Machine using Swift Enumerations

11 minutes

As View Controllers become more complex, the need to manage the state of the view becomes more important. In this video we will discuss how to use a state machine to manage our views state.

Drawing Custom Controls

6 minutes

Sometimes your app design calls for a control design that isn't provided in UIKit. In this video, we draw one from scratch!

Using Container Views to Manage Complex Layouts

7 minutes

When you have a complex view controller view, sometimes it is helpful to break up the view into manageable chunks. In this video we will show how you can use container views to simplify the construction of certain layouts. After this video you will know when and how to use these container views in your applications.

Room Architecture

6 minutes

While Android SDK provides the APIs for using SQLite databases, they force developers to write a lot of boilerplate code. Room solves this problem by creating the glue code that saves objects to SQLite and reads them into memory. In addition, it performs some compile-time checks to ensure correctness of SQL queries.

Optional Return Values vs. Throwing

8 minutes

This video Illustrates the differences between using optional return values or throwing errors for functions that can fail. The implementations are discussed and the pros and cons of each approach are discussed.

Finding and Fixing Memory Issues

7 minutes

Incorrectly managing memory in our applications can result in hard to find bugs and possible crashes. In this video, we will explore the Memory Graph debugging tool in Xcode and how you can use it to find and fix strong reference cycles in closures.

Dispatch Groups

4 minutes

We demonstrate using Dispatch Groups to rendezvous multiple simultaneous asynchronous tasks so that you can process all of their results at once, after the last one finishes.

Handling Async Results

5 minutes

Throwing errors and completion handlers have pros and cons, and can’t be used in all situations. Here we examine some strategies for writing elegant async error-handling code with closures and associated-value enumerations.

Using Generics in Swift

10 minutes

Generics allows for easy code reuse helping you write less code with fewer mistakes. In this video, we’ll learn how and when to use generics in your Swift apps by illustrating examples of problems that generics helps solve and we’ll build a simple, generic data structure.

Xcode Configurations vs. Schemes

10 minutes

Targets and configurations and schemes; Oh my! Confused by these Xcode concepts? Curious how using multiple build configurations coupled with schemes can avoid the multiple-target mess? If you’re wondering what this all means and how it can make your developer life better, this video is for you.

Swift Attributes

5 minutes

You've seen these things in your code. @IBAction. @escaping. @objc. @autoclosure. But what are they? How do they differ from other Swift language features? If you want to understand what is going on under the hood, to know the implications of your code, follow along with Mark Dalrymple in this dive into Swift Attributes.

Create a Welcome Message on Initial Launch

8 minutes

Performing tasks when an application is first launched is a common practice to give users important information about the application. In this video, we will discuss one technique for implementing first launch logic, as well as how to quickly test this code.

Unit Testing: What, Why, and How

11 minutes

Whether you’ve never written a unit test, or are just looking for a way to add unit tests to some existing troublesome code, this video will walk you through the fundamentals of unit testing on iOS with realistic example code to help you learn how to write valuable and effective tests.

Introduction to Breakpoints

8 minutes

A breakpoint is a debugging tool that lets you stop your application at a specific line of code. The application is suspended, allowing you to look at your program state, and collect information about whatever bug you are tracking. In this screencast, we'll talk about simple breakpoints, conditional breakpoints, and set exception breakpoints.

Swift Assertions

9 minutes

In this screencast, we’ll learn how to use Swift’s assertion function to code defensively. By the end of this video, you’ll be able to use the assertion functions to help you write stronger, more robust code.

Asynchronous Unit Testing

8 minutes

In this screencast, we’re going to look at writing unit tests for asynchronous behaviors in an app.

Rails APIs (Part 1) - Getting Past the CRUD

8 minutes

In this screencast, we'll show you how to create a web service for tracking todos and we'll continue to build on this application throughout the rest of the series.

Xcode Inline Documentation

10 minutes

In this screencast, you'll earn how to document your Swift code using Xcode’s Markup support, and Jazzy to create an informative API.