At the heart of any remarkable iOS applies a thorough understanding of the Swift programming language. Embark on a journey to expand your knowledge and skillset with Advanced Programming in Swift. Discover Swift’s advanced custom data types, explore code organization best practices, tap into error handling to improve your program’s performance, and foster an understanding of programming the functional way with higher-order functions like map, filter and reduce. Then, to further understand the inner workings of successful app development, learn how to implement unit tests to ensure that your applications function as intended. By the end of this course, you will practice creating the functionality you often encounter in apps with large lists of items. You’ll implement advanced programming concepts including higher-order functions to process collections and build your own list in Xcode. Upon completion of this course, you will be able to: • Create custom data types including enumerations and sets. • Organize and optimize your code by using subclassing and inheritance, typecasting and polymorphism. • Discover how to set restrictions in your code using access control. • Create blueprints for your code with optional and required protocols. • Give control and pass responsibilities from one instance to another with delegation. • Employ appropriate error handling approaches, implement throwable functions and catch errors. • Describe what recursion is and identify common use cases. • Implement higher-order functions like map, filter and reduce. • Ensure your applications perform as expected by implementing unit tests. This course is ideal for intermediate learners who would like to prepare themselves for a career in iOS development. To succeed in this course, you need a foundational understanding of the programming fundamentals of Swift and SwiftUI.