A hands on introduction that will allow you to master Objective-C and start using it to write powerful native applications for even the newest Macs and iOS devices! Using The step-by-step approach, will let you get comfortable with Objective-C’s unique capabilities and Apple’s Xcode 5 development environment. Make the most of Objective-C objects and messaging. Work effectively with design patterns, collections, blocks, foundation classes, threading, Git and a whole lot more. Every session builds on what you’ve already learned, giving a rock-solid foundation for real-world success!
Developers wanting to learn Objective-C.
Software development fundamentals.
5 days
Objective-C, enrolling as an Apple Developer, setting up the development environment, Xcode. Your first project.
OO projects, Frameworks, classes and instances, encapsulation, accessors, Inheritance.
Messages, methods, working with id, nesting messages, method signatures and parameters. allocating and initializing objects. Using Xcode: Xcode, source code control, git and Xcode, Using a Remote Repository.
Projects, Compiler Directives, Prefix headers, main.m, .h files.
Setting Up the Testbed Apps, Adding a Text Field and Connecting It to Your Code, Sending a Message to the Text Field, Reviewing the Message Syntax.
Context, Creating an Instance Variable with id, What Happens When Execution Stops, dynamic binding, Creating an Instance Variable for with the Class Name and with a Superclass Name, instance variable visibility.
Interface Variables vs Properties, Declared Properties, Using Attributes. Implementing Properties. @synthesize, @dynamic.
Methods in a Class, class and instance methods, Method declaration, returning complex data structures from Methods.
Actions, Actions in OS X and iOS, disconnecting actions.
Receiver and selector objects in messages, Objective-C Runtime, SEL and @selector (), performSelector, NSInvocation, testing whether an Instance can respond to a selector.
The Foundation Framework, Foundation Classes, Foundation Paradigms and Policies; Mutability, class clusters, notifications.
Projects, dynamic typing, creating a new App, implementing a method, expanding Classses with init Methods.
Collecting Objects, Property Lists, Runtime, comparing the Collection Classes, Creating a Collection, Objective-C Literal Syntax, Enumerating collections, Testing Membership in a Collection, Accessing an Object in a Collection.
Managing objects in memory, managing reference counts manually and with ARC, variable qualifiers, variable autorelease.
Subclassing, Protocols, Delegates, Looking Deeper Inside Protocols.
Comparing categories and protocols, categories vs subclasses, working with categories, class extensions, informal protocols.
Objective-C 2.0 Time-Saving Features, Extending Classes by Adding Instance Variables (Sort of), Using Fast Enumeration.
Revisiting Blocks, Callbacks, Blocks, Exploring Blocks in Cocoa, Cocoa Blocks and Memory.
Exception and Error classes: NSException, NSError, Identifying exceptions, throwing exceptions, catching exceptions.
Getting Started with Concurrency, Introducing Queues, Dispatch Sources, Using Dispatch Queues.
Logging Information, Console Logs, NSLog, Smart Breakpoints, enhancing breakpoints with messages.
Debug Gauges, Monitoing CPU and memory utilization, monitoring energy, Using Instruments.
Data Types, Control Structures.
Project Bundles, lproj Files, Asset Catalogs, plist Files, Precompiled Header Files (.pch).
Archiving.
"Excellent presentation - very good course structure."
"Hard concepts were explained very simply."
This structured training course seeks to build upon workbook learning through the use of group exercises, dynamic discussion and individual tasks in order to deliver an engaging and interactive module that will ensure all candidates are able to transfer their new skills into the workplace.