Objective-C for Swift Developers (Udacity)

Offered by Udacity,
Objective-C for Swift Developers (Udacity)

This course is designed to teach students how to understand and identify the differences between the Objective-C and Swift programming languages, and especially, how to rewrite from the former to the latter. Understanding communications between the two languages—called "interoperability"—is becoming more and more important for developers, particularly as we prepare for the arrival of Swift 3.0.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

In the course, students will write classes and add functionality to classes by writing and calling methods. After learning some basic Objective-C syntax, students will examine and break down an app written in Objective-C and rewrite it in Swift. The course will conclude with a review of and practice with the most common challenges for interoperability between Objective-C and Swift.

What You Will Learn

Lesson 1
Objective-C and Swift, Compare and Contrast

  • Learn the distinguishing language features of Objective-C.
  • Compare and contrast Objective-C and Swift language features.
  • Practice answering interview questions about language features.

Lesson 2
Writing Classes

  • Familiarize yourself with Objective-C syntax.
  • Write some classes and properties from scratch.
  • Build a simple Objective-C program with classes.

Lesson 3
Adding Functionality to a Class: Methods and Messages

  • Master how to write and call methods in Objective-C.
  • Learn basic control flow syntax.
  • Build a functioning rock paper scissors game.

Lesson 4
Migrate an App from Objective-C to Swift: Part I

  • Learn how to write custom classes.
  • Incorporate third party frameworks and extensions.
  • Begin porting an existing Objective-C project into Swift.

Lesson 5
Migrate an App from Objective-C to Swift: Part II

  • Persist data with NSCoder and NSKeyedArchiver.
  • Implement navigation with a collection view.
  • Finish porting an existing Objective-C project into Swift.

Lesson 6
Common Interoperability Challenges

  • Facilitate communication between the languages of iOS.
  • Add functionality to a mixed language project.
  • Complete a set of coding challenges to sharpen interop skills.
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Oct 26th 2026
5-12 Weeks
JavaScript Design Patterns (Udacity) Udacity
Udacity

JavaScript Design Patterns (Udacity)

Organizing Code in a Disorganized World. This course covers methods for organizing your code, both conceptually and literally. You’ll learn the importance of separating concerns when writing JavaScript, gaining hands-on experience along the way. Separating concerns can be done with or without an organizational library or framework. We’ll learn how to separate concerns without one, and then we’ll explore an organizational library together. You’ll also learn strategies for exploring other libraries and frameworks on your own.

Self Paced
Self-Paced
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Oct 26th 2026
5-12 Weeks
iOS Networking with Swift (Udacity) Udacity
Udacity

iOS Networking with Swift (Udacity)

Web Services, APIs, and JSON. In this course, you’ll learn how to incorporate networking into your apps, so they can access data from around the world. You’ll learn how to harness the power of APIs to display images and retrieve movie data. At the end of the course, you’ll build the "On the Map" app which allows you to share interesting links, projects, or other information with fellow Udacity students.

Self Paced
Self-Paced
Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will develop an app from scratch, assuming a basic knowledge of Java, and learn how to set up Android Studio, work with various Activities and create simple user interfaces to make your apps run smoothly.

Oct 26th 2026
5-12 Weeks
Server-Side Swift (Udacity) Udacity
Udacity

Server-Side Swift (Udacity)

Production-Ready Swift in the Cloud. In this course, built in collaboration with IBM and Hashicorp, you'll learn how to build server-side Swift applications that run on Linux and in the cloud, including how to use Swift to build a microservices backend. This course covers the best practices for constructing and deploying server-side Swift using industry-proven tools like Docker and Terraform.

Self Paced
Self-Paced
Website Performance Optimization (Udacity) Udacity
Udacity,Google

Website Performance Optimization (Udacity)

The Critical Rendering Path. You will learn how to optimize any website for speed by diving into the details of how mobile and desktop browsers render pages. In this short course, you’ll learn about the Critical Rendering Path, or the set of steps browsers must take to convert HTML, CSS and JavaScript into living, breathing websites. From there, you’ll start exploring and experimenting with tools to measure performance and simple strategies to deliver the first pixels to the screen as early as possible.

Self Paced
Self-Paced
Java Programming Basics (Udacity) Udacity
Udacity

Java Programming Basics (Udacity)

Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions. Taking this course will provide you with a basic foundation in Java syntax, which is the first step towards becoming a successful Java developer. You’ll learn how computers make decisions and how Java keeps track of information through variables and data types.

Self Paced
Self-Paced