NEW: Protocol Oriented Programming in Swift 4 and iOS 11
4.5 (19 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.
181 students enrolled
Wishlisted Wishlist

Please confirm that you want to add NEW: Protocol Oriented Programming in Swift 4 and iOS 11 to your Wishlist.

Add to Wishlist

NEW: Protocol Oriented Programming in Swift 4 and iOS 11

Learn the power of Protocol Oriented Programming in Swift 4 and iOS 11
4.5 (19 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.
181 students enrolled
Created by Andi Setiyadi
Last updated 8/2017
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2.5 hours on-demand video
  • 2 Articles
  • 17 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand what Protocol Oriented Programming is in Swift
  • Apply the Protocol Oriented Programming in developing iOS application.
  • Identify the potential aspect of the project that can benefit from protocol oriented programming approach.
View Curriculum
Requirements
  • You should be familiar with basic iOS development using Xcode. If you are new to iOS development, please check my course: Pirate Bay (Complete) in Swift.
Description

Protocol Oriented Programming has gained some traction and widely adopted ever since the WWDC talk by Dave Abrahams. Most of us already familiar with Object Oriented programming for so many years, especially with the fact that the Cocoa Touch library has been using this approach. Objective-C has used the Protocol to some degree but Swift has added more powerful features to Protocol Oriented Programming. 

In this course we will look into Protocol Oriented Programming in Swift more closely and deeper to find out what it can deliver in helping us with our projects. We will start off with the understanding of Class and Struct, and how to properly initialized them based on our needs. 

Class and Struct have their differences and it will impact what kind and how they can adopt to certain Protocols.  Different types of Protocol property and method declarations will also affect the type of objects that can conform to its requirements.  

Probably the most common use of Protocol is its role on Protocol - Delegate pattern. However we will explore many different Protocol capabilities and features, such as Protocol as type, inheritance, extension, conformance, composition, typealias to name a few.  

I hope you can see the opportunity and the potential of what Protocol Oriented Programming can do in your project and am looking forward to have you joining this course.

Who is the target audience?
  • You heard about protocol in Swift but not sure how it works or when to use it. This is perfect course.
  • iOS developers who would like to up their development skills.
Compare to Other Swift Courses
Curriculum For This Course
20 Lectures
02:25:11
+
Welcome
2 Lectures 01:58

Course outline

Preview 01:13

This is to address some common questions that may come up.

FAQ
00:45
+
Class and Struct
4 Lectures 43:04

We will do a quick review of Class in object oriented programming. 

Class in Object Oriented Programming
06:17

A refresher of object inheritance since we will be reviewing Protocol inheritance in the upcoming lecture. 

Object Inheritance
11:27

A quick review of what Struct can and cannot do in Swift. 

Struct
07:14

If you understand the following types of object initializers, you may skip this lecture:

  • Designated
  • Convenience
  • Failable
Object Initialization
18:06
+
Introduction to Protocol
4 Lectures 26:14

An overview of Protocol creation and declaration. 

What is Protocol?
05:05

A good understanding of property declaration in Protocol may lead to how the objects adopting the protocol initialize the instances. 

Should I Use { get } or { get set }
09:04

The type of objects that will be adopting the Protocol could affect the method signatures of the Protocol itself. 

Method Requirement
06:06

Protocol may declare the signature of the object initializers. Find out what is the difference with a typical objects initializer. 

Protocol Initializer
05:59
+
In Depth with Protocol
9 Lectures 01:13:18

Protocol extension can help in addressing the common implementation  that can be shared among objects instances adopting the Protocol. 

Preview 07:35

Learn how Protocol can inherit the properties and methods from other Protocol, also how this inheritance can help addressing Struct limitation in "object inheritance" model. 

Protocol Inheritance
06:49

Protocol may have optional properties and functions, how do we declare them?

Optional in Protocol
07:53

Learn the pitfalls of using optional properties and functions in Protocol and how to avoid them. 

How to Avoid Optional Protocol
06:52

Find out how Protocol can be used as a type on objects' property declaration and its usage. 

Protocol as Type
06:04

How to detect if an object is an instance or adopting a certain Protocol thus dictating the behavior of the object itself?

Preview 05:58

Objects can adopt to multiple Protocols, which may affect how the instances of the object being passed around as parameters to functions.

Protocol Composition
17:55

Simplify how multiple Protocols declaration is being passed around.

Composition with Typealias
01:57

Protocol - Delegate pattern is one of the most common pattern used to pass data around between view controllers.

Protocol-Delegate Pattern
12:15
+
What's Next
1 Lecture 00:36
Next Step
00:36
About the Instructor
Andi Setiyadi
4.6 Average rating
328 Reviews
1,824 Students
6 Courses
Senior Web and Mobile Developer

Hi! I am Andi. I have a degree in MS Information Systems and been working for a Fortune Top 25 Company for the last few years.

I am passionate about mobile development and have been using both the hybrid and native approach on my projects. I fell in love with Swift and been part of the early adopter. I truly believe Swift will become one of the development languages of the future.

I live in beautiful state of Colorado in the United States and while I am not busy coding, I enjoy biking and skiing.

My motto is never stop learning and share the knowledge. Having said that, I am ready to take you on the journey of Swift development world and hope you will be a part of it.