O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Professional Swift

Video Description

Develop practical, cutting-edge applications using the full power of Swift

About This Video

  • Learn the main differences between value and reference types
  • Learn about protocol-oriented programming with Swift
  • Use various architectures to structure a complete iOS app

In Detail

We begin the course by learning about value types (structs and enums), and when they are preferable over classes. We also learn about the copy-on-write technique and how to implement it ourselves. Then we learn how to load JSON from web APIs into our custom types, and how to export that content out again. Finally, we learn how to create frameworks, and import other frameworks using CocoaPods or Carthage.

We move on to learn advanced uses of Swift protocols and how protocol-oriented development improves efficiency and leads to more maintainable and reusable code. Then we learn about generics, and how they enable us to support multiple types without duplication. Later in the course, we discover different ways to structure a complete iOS app from scratch. We begin the discussion with the well-known MVC pattern and cover every other trending architecture in the iOS world.

Table of Contents

  1. Chapter 1 : Value Types
    1. Course Overview 00:06:08
    2. Lesson Introduction 00:01:00
    3. Reference versus Value Types 00:01:42
    4. Structs 00:01:19
    5. Protocols 00:05:17
    6. Copy on Write 00:06:10
    7. Enums 00:01:35
    8. Associated Values 00:05:09
    9. Summary 00:00:14
  2. Chapter 2 : Encoding and Decoding
    1. Lesson Introduction 00:04:17
    2. JSON Decoding automatically 00:08:26
    3. JSON Decoding manually 00:04:02
    4. JSON Encoding automatically 00:01:48
    5. JSON Encoding manually 00:02:16
    6. Summary 00:00:25
  3. Chapter 3 : Swift Frameworks
    1. Lesson Introduction 00:01:56
    2. Creating a Framework 00:09:31
    3. CocoaPods 00:11:46
    4. Carthage 00:10:37
    5. Summary 00:00:39
  4. Chapter 4 : Swift Protocols
    1. Lesson Introduction 00:01:32
    2. Protocol Syntax Basics 00:02:58
    3. Adopting and Using Protocols 00:06:02
    4. Using Protocols as Types 00:04:50
    5. Mutating Method Requirements 00:03:14
    6. Summary 00:00:34
  5. Chapter 5 : Transitioning to Protocol Oriented Programming
    1. Lesson Introduction 00:01:07
    2. Comparing Object Oriented and Protocol Oriented Programming 00:00:57
    3. Implementing Employee as a Simple Swift Structure 00:03:45
    4. Refactoring Employee with an Object Oriented Approach 00:04:47
    5. Refactoring Employee with a Protocol Oriented Approach 00:02:09
    6. Summary 00:00:43
  6. Chapter 6 : Swift Generics
    1. Lesson Introduction 00:01:09
    2. Basics of Generics 00:03:32
    3. Creating Generic Types 00:01:49
    4. Generic Extensions 00:02:16
    5. Associated Types 00:03:25
    6. Summary 00:01:03
  7. Chapter 7 : Software Design
    1. Lesson Introduction 00:01:15
    2. The Need for Architectural Patterns 00:02:21
    3. The Original MVC Report 00:07:31
    4. Code base inspection 00:03:24
    5. Apple's MVC 00:03:03
    6. Summary 00:00:40
  8. Chapter 8 : MVC Alternatives
    1. Lesson Introduction 00:01:09
    2. Apple's MVC in Practice 00:06:15
    3. Model-View-View-Model 00:06:06
    4. Viper 00:07:41
    5. Summary 00:00:24
  9. Chapter 9 : Unidirectional Data Flow
    1. Lesson Introduction 00:01:11
    2. Identifying Side Effects of Functions 00:02:47
    3. Unidirectional Data Flow 00:01:55
    4. Redux in iOS 00:07:54
    5. Summary 00:00:57