Advanced Programming in Swift


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.

Certificate Available ✔

Get Started / More Info
Advanced Programming in Swift
More Mobile and Web Development Courses

Deploy Kubernetes Load Balancer Service with Terraform

Google Cloud

This is a self-paced lab that takes place in the Google Cloud console. In Terraform, a Provider is the logical abstraction of an upstream API. This lab will show...

Introduction to JavaScript

Coursera Project Network

In this beginning-level course you will discover where JavaScript fits into the world of web development. Through hands-on exercises, you will use the Notepad++...

Proyecto final - Construyendo una aplicación profesional con Android

Universidad Nacional Autónoma de México

¡Es momento de construir tu propia aplicación profesional! En este curso, no sólo deberás desarrollar tu aplicación móvil sino que, ésta, contribuirá a la...


Fudan University

诸如《Clash Royale》(部落冲突:皇室战争)、《Cross Fire》(穿越火线)之类的手机网络游戏在玩家中非常流行。 本门课程《Unity游戏编程进阶》是专项课程游戏编程的第二门课,通过《Unity游戏编程基础》课程,学习者已经具备开发移动平台3D单机游戏的基本能力,然而与次世代画面的网络手游开发仍存在很大差距。《Unity游戏编程进阶》课程重点讲解手机网络游戏的开发,提升游戏的可玩性和游戏的画面效果,优化游戏的性能。...