|
Introduces
Cocoa tools and APIs for developing applications for Mac OS X |
|
Explores fundamentals of application design and behavior |
|
Reinforces concepts with real-world examples and hands-on exercises |
|
Provides the fastest, most cost-effective way to learn Cocoa application
development |
|
Taught by experienced software engineers with dynamic presentation
skills |
 |
Offered
at authorized Apple iServices Training Centers or onsite at client
locations worldwide |
To Register
To attend this course at an Apple iServices training center, please
visit the Apple iServices
Training web site
for current schedules, locations, and registration information. To schedule
an onsite course at your organizations location, please call 800-848-6398
or email iservices@apple.com.
|
|
Cocoa Development teaches application programmers the
essentials of designing and implementing graphical applications using
Cocoa. Cocoa is a powerful object-oriented software development
environment included with Mac OS X that features
graphical tools, rich frameworks, and a predefined application infrastructure
that supports rapid development of sophisticated applications. This
five-day course provides comprehensive, hands-on training using real-world
examples. With the skills acquired in this course, developers can build
full-featured applications using the most advanced software environment
on Mac OS X.
Objective
Learn how to develop applications for Mac OS X in Objective-C using
Cocoa.
Who should attend?
Application developers who meet the following prerequisites:
|
Practical experience with the C programming language
or a C-derived language such as Objective-C, Java, or C++ |
|
A practical understanding of object-oriented concepts |
|
(Recommended) Experience with Mac OS X, including basic navigation and application
look and feel |
Description
Cocoa Development combines lectures, demonstrations, and hands-on student
exercises performed on Mac OS X systems.
The course covers
|
Objective-C essentials |
|
Developer tools, such as Project Builder and Interface Builder |
|
Foundation classes for core application design (for example,
data classes, collection classes, file management classes, process
management classes) |
|
AppKit classes for graphical user interface implementation |
|
Design patterns: Model-view-controller, target-action,
delegation, notification, key-value coding |
|
Drawing and event handling |
|
Document-based applications |
|
User-default and preference management |
|
Pasteboards and undo/redo
|
| Topic |
Description |
 |
 |
| Introduction and orientation |
Introduces the Cocoa development environment, including tools,
frameworks, languages, project types, and principal design patterns.
Establishes the range and scope of topics and the expectations for
the week. |
 |
 |
Essentials of Objective-C |
Covers the essential concepts, syntax and features of the Objective-C
language relevant to Cocoa application development. Includes types,
messages, classes, protocols, and archiving. |
 |
 |
| Interface Builder |
Introduces Interface Builder for constructing user interface components.
Covers controls, outlets, target/action, and initialization. |
 |
 |
| Multiple interface files |
Examines the use of multiple interface files for application
design and implementation. Covers bundles, File's Owner, and common
designs for modular, encapsulated components. Includes initialization
and cleanup issues and techniques. |
 |
 |
| Delegation |
Presents delegation, a key design pattern used throughout the
AppKit for customizing the behavior of standard framework objects.
Applies delegation to objects such as windows, table views, and
the application itself. Includes handling of sheets for alert messages. |
 |
 |
| Document-based applications |
Explores the Cocoa multidocument architecture for applications
requiring multiple, simultaneously open files. Covers project
structure, framework classes, subclass responsibilities, built-in
menu functionality, the undo manager, and registered file types. |
 |
 |
| Table views and key-value coding |
Examines table views as a case study of a more complex user interface
element. Includes the use of key-value coding, an
important Cocoa application design pattern. |
 |
 |
| Archiving |
Presents object serialization in Objective-C using encoding and
archiving. Explores the practical use of archiving for files and
pasteboards. |
 |
 |
| Notifications |
Covers notifications, including notification center, observers,
and selectors. Looks at notifications as a communication mechanism
between AppKit objects and custom classes. |
 |
 |
Defaults and User Preferences
|
Explores defaults, property lists, and the foundation classes
for getting and setting parameters that control application functionality
and enable an application to have default settings and user-configurable
preferences that persist across invocations of the application. |
 |
 |
| Events and Responders |
Covers event handling, focusing on the responder chain and
its role in target/action, multidocument applications, and dynamically
updating menu items. |
 |
 |
| Pasteboards |
Examines the workings of pasteboards supporting
cut, copy, and paste within an application and across applications.
Covers pasteboard objects, data types, and archiving. |
 |
 |
| Custom views |
Presents how views, rendering, and event handling works. Includes a variety
of topics such as image compositing, Bezier paths, colors, strings,
event messages, and methods. |
 |
 |
|