Request Info

Salutation

First Name

Last Name

Job Title

Department

Mailstop

Company

Address

P.O. Box

City

Province

Postal Code

Country
List

Work Telephone

Ext.

E-mail Address

Information provided will be used to communicate with you about our products.
Privacy Statement

A representative will contact you to follow up your request.

 
Special offer: Training Vouchers - Free Courses with purchase.

 

Hands-On Objective-C Programming:
Fundamentals for the Mac/iPhone®/iPad®


Course 27554 Days

 E-mail E-mail  Print Print  Q&A Q&A  PDF PDF  Facebook Facebook  Twitter Twitter

Quick Enrol

You Will Learn How To

  • Create, compile and run Objective-C programs using Xcode
  • Build applications by applying Objective-C language constructs, syntax and semantics
  • Implement object-oriented designs using encapsulation, inheritance and polymorphism
  • Leverage the Foundation Framework class libraries
  • Develop graphical user interfaces (GUIs) for Mac OS X using the Cocoa framework
  • Program a simple iPhone/iPad application using the Cocoa Touch framework

Course Benefits

Objective-C is critical to Mac, iPhone and iPad application development. In order to create increasingly powerful and sophisticated software, programmers need to delve into the framework and architecture of Objective-C. Throughout this course, you learn the fundamental programming concepts of Objective-C and the Foundation Framework used to develop code for the Mac OS X and iOS platforms.

Who Should Attend

Programmers, application developers and anyone interested in writing applications for Apple platforms. Programming experience with a modern language such as Java, C, C++, C# or Visual Basic is required. Object-oriented programming experience is recommended.

Hands-On Training

Throughout this course, you perform a series of exercises to gain experience programming with Objective-C. Exercises include:
  • Writing and compiling Objective-C programs using Xcode
  • Managing objects with Foundation Framework collection classes
  • Extending classes with inheritance
  • Enhancing classes with categories when inheritance is inappropriate
  • Writing loosely coupled applications with protocols
  • Building GUI apps for the Mac with the Cocoa framework
  • Creating a simple app for iPhones and iPads with the Cocoa Touch framework

Course 2755 Content

Introduction to the Objective-C Language

Language and tools

  • Evolution of Objective-C
  • Xcode development environment

Objective-C fundamentals

  • Syntax and semantics
  • Pointers, structs, functions
  • Decisions, loops and logic

Developing Classes in Objective-C

Defining classes

  • Declaring the class interface with @interface
  • Programming the class using @implementation
  • Encapsulating attributes with methods and properties

Creating and using classes

  • Importing the interface
  • Writing constructors
  • Instantiating the classes and invoking methods

Reusing Classes Through Aggregation

Building groups of complex classes

  • Defining relationships between classes
  • Incorporating the Has-A relationship in class design

Employing Foundation Framework classes

  • Simplifying application development with class libraries
  • Working with collection classes including NSArray, NSDictionary, NSSet
  • Iterating collections with enumerators

Structuring Object-Oriented Class Hierarchies

Exposing interfaces with protocols

  • Defining optional and required contracts
  • Designing to an interface rather than an implementation to achieve loosely coupled systems
  • Working with the id type

Inheritance and polymorphism

  • Identifying the Is-A relationship
  • Deriving new classes from base classes
  • Defining constructors in subclasses
  • Leveraging dynamic binding through polymorphism

Categories and extensions

  • Creating categories to extend classes without inheritance
  • Redeclaring access rights with extensions

Building GUIs

Exploiting the Cocoa framework

  • Designing Mac GUIs using Interface Builder
  • Communicating between objects with targets and actions
  • Implementing the delegate pattern with @selector

Leveraging Cocoa patterns

  • Developing an application with MVC
  • Synchronizing controls with bindings
  • Registering bindings to observe changing data
  • Responding to mouse and keyboard events
  • Enhancing user interfaces with views and controls

Creating apps with Cocoa Touch

  • Designing GUIs for the iPhone and iPad
  • Exploring touch events
  • Choosing appropriate controls for the limited screen space of mobile devices

Interacting with the Operating System

Comparing alternative memorymanagement techniques

  • Manual reference counting(MRC)
  • Garbage collection
  • Automatic reference counting (ARC)

Accessing the file system

  • Storing and retrieving data with NSFileManager
  • Obtaining directory and file information
  • Creating and deleting files

Enhancing applications with threads

  • Creating and managing threads
  • Improving responsiveness of the user experience with multi-threading
  • Synchronizing threads with mutexes

Packaging Code for Reuse with Libraries and Frameworks

  • Comparing dynamic and static libraries
  • Wrapping code for public or private reuse
  • Developing shared code

<< Back to Mobile App Development Course List
 

Related Courses


iPad and iPhone are trademarks of Apple Inc., registered in the U.S. and other countries.
Learning Tree AnyWareTM is a trademark of Learning Tree International, Inc. in the United States and other countries, and is covered by a patent application pending in the United States.
 
Hands-On Objective-C Programming: Fundamentals for the Mac/iPhone/iPad

Training Dates

Live online classroom training.Most events below can be taken in-class or live, online from your home or office with AnyWare.
Sep 11 - 14Ottawa enrol
Sep 25 - 28Toronto enrol
Jan 8 - 11Ottawa enrol
Jan 8 - 11Toronto enrol

US Dates

Jul 10 - 13New York enrol
Jul 24 - 27Alexandria, VA enrol
Oct 2 - 5New York enrol
Jan 29 - Feb 1New York enrol

For AnyWare enrolments, please register at least 7 days prior to the start of the course.

More Dates and Locations.

 

Bring this or any Learning Tree Course on-site to your location!