Course

Objective-C Basics

iOS apps are written in the object-oriented superset of the C programming language called Objective-C. Without a good understanding of C and Objective-C it is not possible to be a competent and productive iOS developer. This course will teach you the basics of C such as: scalar types, arrays, structs and memory allocation. Laying the groundwork for Objective-C topics such as: classes, object messaging, properties, methods, ARC, dynamic typing and protocols. Towards the end of the course you will be armed with sufficient knowledge of the concepts and practical uses of the language Objective-C.

Objective-C Basics

7 Achievements

Fundamentals of C

Fundamentals of C

C is a functional programming language serving as the basis of Objective-C. Learn about the main() function which is part of every C program. Moreover, you will learn the fundamentals of C programming such as: variables, arrays, and mathematical operators and expressions.

Functional Programming in C

Functional Programming in C

Functional programming is a form of declarative programming which involves composing the problem as a set of functions to be executed. You define carefully the input to each function, and what each function returns. In addition to functions, C provides the basic constructs found in any other programming language such as: conditional statements, loops to repeatedly execute statements and scope to bind variables.

Pointers and Memory

Pointers and Memory

C programming requires first hand knowledge of how memory is allocated and destroyed. Variables use pointers to determine where data is stored in memory. Furthermore, learn how memory is organized in either heaps or stacks and the benefits of either. A good understanding of these concepts will mean efficient writing of code.

Introduction to Objective-C

Introduction to Objective-C

Objective-C is an object oriented superset of the C language used to create iPhone or iPad apps. Objective-C offers a variety of features found in most object oriented languages such as: inheritance, composition and encapsulation when creating classes.

Foundation Framework

Foundation Framework

A framework is a reusable software platform for accelerating the development of an application. The Foundation Framework provides basic classes to store structured data such as: NSString, NSNumber or a collection of data such as NSArray and NSDictionary. A framework saves the programmer significant software development time by eliminating the need to start from scratch each time they build an application.

Advanced Objective-C

Advanced Objective-C

Objective-C offers two ways to extend the functionality of classes. Firstly, by use of categories you can add methods to any existing custom or system class. Secondly, a protocol allows any class to respond to a set of messages. Several classes can implement a protocol and a class can implement several protocols. Finally, you can use dynamic typing to determine the object type at runtime while using introspection you can determine the class of an object at runtime. All these seemingly advanced features make up a proficient Objective-C programmer.

Beyond the Basics

Beyond the Basics

An in-depth look into how pointers work. Gain a better understanding of how memory is allocated and initialized. Finally, learn about the differences between the strong and weak attributes of a property.

Instructors

  • Douglass Turner

    Doug Turner is an Apple alumnus and Silicon Valley veteran. He later spent eight years consulting and teaching in Scandinavia while based in Reykjavik, Iceland. He is now based in Boston where he runs an iOS software development and training company.

  • Amit Bijlani

    Amit is an iOS Developer who loves teaching and speaking about iOS. When not in front of a computer, he's exploring the outdoors or meditating. Find him on Twitter @paradoxed.

Download videos

You have to sign up for Treehouse in order to download course videos.

Sign up