Warning: Undefined variable $content_quality_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 45
Warning: Undefined variable $content_quality_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 45
Warning: Undefined variable $content_quality_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 51
Warning: Undefined variable $content_quality_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 57
Warning: Undefined variable $content_quality_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 57
Warning: Undefined variable $video_quality_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 70
Warning: Undefined variable $video_quality_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 70
Warning: Undefined variable $video_quality_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 76
Warning: Undefined variable $video_quality_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 82
Warning: Undefined variable $video_quality_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 82
Warning: Undefined variable $qualified_instructor_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 95
Warning: Undefined variable $qualified_instructor_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 95
Warning: Undefined variable $qualified_instructor_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 101
Warning: Undefined variable $qualified_instructor_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 107
Warning: Undefined variable $qualified_instructor_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 107
Warning: Undefined variable $course_pace_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 120
Warning: Undefined variable $course_pace_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 120
Warning: Undefined variable $course_pace_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 126
Warning: Undefined variable $course_pace_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 132
Warning: Undefined variable $course_pace_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 132
Warning: Undefined variable $course_depth_and_coverage_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 145
Warning: Undefined variable $course_depth_and_coverage_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 145
Warning: Undefined variable $course_depth_and_coverage_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 151
Warning: Undefined variable $course_depth_and_coverage_up in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 157
Warning: Undefined variable $course_depth_and_coverage_down in /home/597640.cloudwaysapps.com/dvkqnhvsgq/public_html/global/global_course.php on line 157
Learn Swift 4 with Bob: The Intermediate to Advanced Swift (Udemy.com)
Functional Programming, Protocol Oriented, Value Oriented, Generic Protocols, Object Oriented, Swift 4
Created by: Bob Lee
Produced in 2017
What you will learn
- Learn the difference between classes and structs and which one to use
- Learn how to create generic enums, structs, classes, protocols
- Get a taste of functional programming with trailing, auto, and escaping closures
- Understand how objects are created and removed through Automatic Reference Counting
- Understand potential retain cycle in closures, delegate, and class variables
- Understand Swift is a protocol oriented programming language
- Apply protocols such as Equatable, Comparable, Sequence, and IteratorProtocol
- Execute Swift files using Terminal/Command Line
- Functional Programming
Quality Score
Overall Score : 0 / 100
Live Chat with CourseDuck's Co-Founder for Help
Course Description
As a developer whose first programming language is Swift, I've taken online courses from major platforms. However, I have been frustrated by a lack of detailed explanation from instructors. They tend to focus on final products, thus missing out the fundamentals. I was confused by which design principles to follow, and why. Soon after I've been blogging for the last 5 months, I've discovered this isn't the only problem of mine. I've received hundreds of emails and questions regarding how to write code that does not violate principles such as DRY, modularity, and readability. As a result, I've decided to create this course dedicated for my younger self. I believe it all comes down to the fundamentals which I lacked in the beginning.
Course Overview
There are 10chapters in this course. From Chapter 1 to 4, you will get a firm understanding of both Intro to Functional, and protocol, and Object Oriented Programming. In Chapter 5, you will fully understand how objects are created and removed. In Chapter 6 and 7, you will learn how to create value oriented swift code along with protocol generics and enums. In the last chapter, you will acquire various advanced and hidden tipsabout the Swift Programming Language.
Prerequisites
This course is designed for Swift intermediates. So, I won't cover the basics. You may visit the lecture notesand go to prerequisites. You will find a list of items you are expected to know. There is a YouTube video for each concept, so if you ever get stuck, you can always learn and come back. In a nutshell, you should be already be familiar with switch statement, conditional statement, basic operators,functions, and basic object oriented programming.
Questions
Do you know why Swift engineers have implemented optionals? Do you know what completion handlers and how to design one for your project? Do you know retain cycle within closures and delegates? Do you know the difference between autoclosures, trailing closures, and @escaping closures?
Do you know how to create custom operators. Do you truly understand the statement, "Swift is a protocol oriented programming language", and know how to use defaultprotocols such asEquatable,Comparable,Sequence, andIterator Protocol. Lastly, do you know the difference between normal and recursive enums? If you can't answer all of these questions, I recommend you to take this course and start learning with me.
Course Resources
Group ChatLecture NotesSource CodeExplanationsSupporting Tutorials
Bob the Developer
Over thousands of daily visitors from students and iOS developers all around the world.
Less than half a year, I became one of the top bloggers standing right next to big named brands. You don't have to question my quality of content. The growth and reputation speak for themselves.
p.
s:
Lecture notes, source code, explanations are available at any time. They arecreated, prepared, and edited by Bob the Developer.
Who this course is for:
Anyone who wants to take his/her game to the next levelAnyone who wants to know how to use enumsAnyone who wants to learn how to use closures and generics protocolsAnyone who has a hard time dealing with error messages from ? and !
Instructor Details

- 0.0 Rating
0 Reviews
Bob Lee
My name is Bob Lee originally from S.Korea. I'm a full-stack developer proficient in server-side Swift and iOS development.Ifocus on the fundamentals of iOS development which often developers neglect. I believe most problems can be solved by understanding the root. My teaching philosophy is to provide as many as practical problems within each lessonand then students are able to apply in their own projects. I love teaching because it is the only way I can havegreat impact on people's lives at this point of my life. I work towards building long-term relationships with thestudents over short-term sales.