cocoa application kit

Cocoa provides a rich layer of functionality on which you can build applications. Its comprehensive object-oriented API complements a large number of technologies that Mac OS X provides. Some of these technologies are inherited from the NeXTSTEP operating system. Others are based on the BSD Unix heritage of Mac OS X’s core. Still others come from the original Macintosh environment and have been updated to work with a modern operating system. In many cases, you take advantage of these underlying technologies transparently, and you get the use of them essentially “for free.” In some cases, you might use these technologies directly, but because of the way Cocoa is structured, they are a simple and direct API call away.

COURSE AGENDA

  • Buttons
  • Text Fields
  • Combo-box
  • Pop-up
  • Program Indicator
  • Tab Controls
  • Disclosures
  • Tables
  • Outline
  • Windows
  • Dialogs
  • Window Controllers
  • Menus
  • Contextual Menus
  • Alerts
  • Panels
  • Open and Save Panels
  • Toolbars
  • MVC model - Model-View-Controller
  • What Are Views?
  • Cocoa-Provided View Classes
  • Container Views
  • The Text System
  • Controls
  • View Geometry
  • The View Coordinate System
  • Understanding a View’s Frame and Bounds
  • What Is a View Hierarchy?
  • Benefits of a View Hierarchy
  • Locating Views in the View Hierarchy
  • Adding and Removing Views from a Hierarchy
  • Repositioning and Resizing Views
  • Hiding Views
  • Creating a Custom View
  • Allocating the View
  • Drawing View Content
  • Responding to User Events and Actions
  • Deallocating the View
  • Split Views
  • Text Views
  • Image Views, Matrix Cells
  • NSTableView, NSOutlineView, and NSBrowser Concepts
  • Table Views
  • Outline Views
  • Browsers
  • Combo Boxes
  • Custom Controls
  • Toolbars
  • Status Bars
  • NSQuickDrawView Class
  • Introduction
  • Application Events
  • Mouse Events
  • User Events
  • drag and drop
  • Delegates
  • Notifications
  • What Are Cocoa Bindings?
  • The Advantages of Using Bindings
  • What Is a Binding?
  • Binding Options
  • Supporting Technologies
  • Key-Value Binding
  • Key-Value Coding
  • Key-Value Observing
  • User Defaults (preferences)
  • Why Are NSControllers Useful?
  • What Can You Bind?
  • How Do Bindings Work?
  • Unbinding
  • Introduction to Drag and Drop
  • Dragging Sources
  • Drag Operations
  • Drag Messages
  • The Dragged Image
  • Dragging Destinations
  • The Sender of Destination Messages
  • The Dragging Pasteboard
  • Order of Destination Messages
  • Receiving Drag Operations
  • Dragging Files
  • Dragging File Paths
  • Dragging File URLs
  • Dragging File Contents
  • Dragging File Promises
  • Using Drag and Drop in Tables
  • Introduction to Threading Programming Guide
  • Concurrency and Application Design
  • About Concurrency
  • Mac OS X Support
  • Threads
  • Operation Objects
  • Synchronization Tools
  • Run Loops
  • NSThread
  • Using NSObject to Spawn a Thread
  • Terminating a Thread
  • Synchronization and Thread Safety
  • Interthread Communication
  • Alternatives to Threads
  • Design Tips
  • Introduction
  • The Basics
  • The Process
  • The Code
  • The Interface
  • Updating the code
  • Updating your Interface
  • A Localization Example