Course SummaryAt the end of this course a student will have a broad understanding of the distinguishing language features of Objective-C. Students will practice writing classes and adding functionality to classes by writing and calling methods. After learning some basic Objective-C syntax, students will pick apart an app written in Objective-C and rewrite it in Swift. They’ll wrap up the course with review and practice with the most common challenges for interoperability between Objective-C and Swift.
Why Take This Course?The course is tailored for the Swift developer who is entering an iOS landscape in which many apps and third party APIs are still written in Objective-C. This course will prepare you to confidently answer some of the most commonly asked interview questions related to Objective-C. By migrating an app from Objective-C to Swift students will become familiar with the experience of deciphering an unfamiliar Objective-C codebase, an experience one is likely to encounter in your first job as an iOS developer. They will also get an opportunity to practice with interoperability between Objective-C and Swift, practice negotiating the differences between the languages of iOS.
Prerequisites and RequirementsExperience writing iOS apps in Swift.
Syllabus### Lesson 1 Objective-C and Swift, Compare and Contrast
Learn the distinguishing language features of Objective-C.
### Lesson 2 Writing Classes
Familiarize yourself with Objective-C syntax. Write some classes and properties from scratch.
### Lesson 3 Adding Functionality to a Class: Methods and Messages
Master how to write and call methods in Objective-C. Build a functioning game.
### Lesson 4 Migrate an App from Objective-C to Swift: Part I
Write custom classes and incorporate third party frameworks and extensions.
### Lesson 5 Migrate an App from Objective-C to Swift: Part II
Persist data with NSCoder and NSKeyedArchiver. Implement navigation with a collection view.
### Lesson 6 Common Interoperability Challenges
Facilitate communication between the languages of iOS. Complete a set of coding challenges to sharpen interop skills.