Why Take This Course:
Now Updated for Xcode 5
Whether you’re are brand new to programming, or have some experience with other languages such as Java and Visual Basic, then this course will get you up to speed fast with Objective-C.
The course has been designed to give you the fundamental skills needed to get going when starting out on developing iOS and OS X applications.
The course covers the basics of ANSI C and then we get into Objective-C which is the cornerstone of iOS development.
Our smaller class size will help ensure that you get all your questions answered. All our development courses are taught by developers who have developed real world applications and a wide variety of platforms including iOS, OSX and Android.
Interested in learning Objective-C and the Foundation Framework to develop code for the iPhone or Mac OS X desktop apps.
The course is two days long and is quite intensive – we cover quite a bit in these two days.
We start off covering standard C. We look at how a C program starts out, and we look at the basic syntax and formatting of the C language. We cover a range of ideas including variable usage, running code based on conditions, looping a piece of code and much more.
We then step over to Objective-C. This is the fundamental language used by Apple in their software development kits. We first look at what a class is and how you would construct one from scratch. Then we look at how you create and use objects from these classes.
Once you have a good understanding on how classes work, we look at some of the more important Foundation classes that Apple supplies for you. A lot of these classes are to deal with storage of data, such as strings and arrays.
After attending this course, you will be in a good position to start learning how to code iOS apps.
We also take a look at Xcode, how to manage your code files and debug your code.
• Xcode: Xcode is Apple’s IDE. No course would be complete without having an understanding on how to use Xcode to manage and compile your code.
• Primitive Data Types: Learn how to store and retrieve numerical data for integer and floating point numbers.
• Conditions: Quite often you will only want to execute a piece of code on the outcome of a specific condition. Here we look at how you can achieve this.
• Loops: Computer programs are great at repeating a given task. We will look at various options we have at repeating a task such as using For loops and While loops.
• Functions: Functions are C’s way of organising your code into manageable pieces which can they be reused over and over again. You will learn how to create your own functions.
• Variable Scope: Any data you store within your code has a defined lifetime. Its very important to understand how this works and how it effects the data within your app.
• Arrays: Arrays allow you to store multiple related values. Learn how to create and use arrays within your code.
• Pointers: Pointers are at the heart of Objected Orientated programming. Understanding how pointers work and how you use them is a key skill anyone should have.
• Structures: Structures allow you to store different pieces of data of different types in one place. Very useful in any program.
• Classes: Classes are at the hearts of Apple’s APIs for iOS and OS X development. Learn what a class is, how to design and create them. We will also look at a feature called inheritance which allows you to string several classes together.
• Objects: Objects are created from classes and this is what you would manipulate in your code to store data and perform tasks. Learn how to create , use and destroy objects.
• Foundation: We will then look at Apple’s Foundation classes. These are a set of classes Apple provide to help you store and manipulate different types of data. Examples include NSString, NSArray, NSNumber and NSDictionary.
• Memory: Apple have really simplified memory management in your apps however its still a good idea to understand how memory management works. We will look at the principals behind retain counts and take a look at ARC, which is Apple’s automated memory management system.