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

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
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Aug 17th 2026
5-12 Weeks
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 24th 2026
13-24 Weeks
C++ For Programmers (Udacity) Udacity
Udacity

C++ For Programmers (Udacity)

Learn features and constructs for C++. C++ for Programmers is designed for students who are familiar with a programming language and wish to learn C++. This course focuses on 'how' as opposed to 'what'. For example, in the lesson on functions, we do not teach what a function is, but rather how to create a function in C++. The lessons are taught by several different instructors who have used C++ in their professional careers, so students get to experience different perspectives.

Self Paced
Self-Paced
Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced
Kotlin Bootcamp for Programmers (Udacity) Udacity
Udacity,Google

Kotlin Bootcamp for Programmers (Udacity)

Language fundamentals for developers. Learn the essentials of the Kotlin programming language from Kotlin experts at Google. Kotlin is a modern and concise JVM language that supports functional programming paradigms. Whether you’re a Java developer or a programmer in another object-oriented language, this course will teach you the essential language features that has made Kotlin so popular with developers.

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
Data Structures & Algorithms in Swift (Udacity) Udacity
Udacity

Data Structures & Algorithms in Swift (Udacity)

Confidently take on the tech interview. Technical interviews follow a pattern. If you know the pattern, you’ll be a step ahead of the competition. This course will introduce you to common data structures and algorithms in Swift. You'll review frequently-asked technical interview questions and learn how to structure your responses. You will answer practice problems and quizzes to test your abilities. Then you'll practice mock interviews to get specific recommendations for improvement. Be ready for anything the technical interviewer throws at you.

Self Paced
Self-Paced
JavaScript and the DOM (Udacity) Udacity
Udacity

JavaScript and the DOM (Udacity)

Dynamically control the browser. JavaScript is an extremely powerful programming language. One place where its power truly shines is using it to control a web page. Through this course, you'll learn about the Document Object Model (DOM), how it's created, and what capabilities it provides. Then you'll use JavaScript and the DOM to add, delete, or alter page content; control page styling, and respond to user actions.

Self Paced
Self-Paced