Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by James Duncan Davidson, Apple Computer Inc
Learning Cocoa with Objective-C, 2nd Edition
A Note Regarding Supplemental Files
Preface
Audience
Who Should Read This Book
Who Should Not Read This Book
What You Need to Know
About the Example Code
How This Book Is Organized
Part I
Part II
Part III
Part IV
Part V
How to Use This Book
Conventions Used in This Book
How to Contact Us
Acknowledgments
I. Cocoa Overview and Foundation
1. Introduction to Cocoa
The Mac OS X Programming Environment
Cocoa Defined
The History of Cocoa
Cocoa’s Feature Set
The Cocoa Frameworks
Languages
Objective-C
Java
AppleScript
The Foundation Framework
Programming Types and Operations
Operating System Entities and Services
Object Functionality
File and I/O Management
Other Services
The Application Kit Framework
User Interface
Feature Integration
Other Facilities
2. Cocoa Development Tools
Installing the Developer Tools
Installing from the Developer Tools CD
Installing from the ADC Site
Upgrading Your Tools
Project Builder
Say “Hello, World”
Open Project Builder
Creating a new project
Building the project
Solving build problems
Running the application
Using the Debugger
Interface Builder
Graphical “Hello, World”
Open the main nib file
Other Tools
Command-Line Tools
Exercises
3. Object-Oriented Programming with Objective-C
Introducing Objects
Classes of Objects
Inheritance
Creating and Using Objects
Working with Multiple Objects
Methods and Messages
Arguments in Messages
Nested Messages
How Messaging Works
Objective-C-Defined Types
Creating New Classes
Defining the Song Interface
Defining the Song Implementation
Using the Song Class
Overriding Methods
Calling Superclass Methods
Object Creation
Designated initializers
Object Deallocation
Other Concepts
Exercises
4. The Cocoa Foundation Kit
Strings
Basic String Operations
Setting breakpoints and debugging
Working with Portions of a String
Mutable Strings
Working with Files
Collections
Arrays
Using the debugger to explore NSArray
Mutable Arrays
Exploring NSMutableArray with the debugger
Arrays and the Address Book
Sets
Dictionaries
Mutable Dictionaries
Storing Collections as Files
Memory Management
Object Initialization and Deallocation
Reference Counting
Autorelease Pools
Retaining Objects in Accessor Methods
Rules of Thumb
Exercises
II. Single-Window Applications
5. Graphical User Interfaces
Graphical User Interfaces in Cocoa
Windows
Nib Files
Outlets
Actions
Designing Applications Using MVC
MVC in Currency Converter’s Design
Create the Currency Converter Project
Create the Interface
Open the Main Nib File
Resize the Window
Set the Window’s Title and Attributes
Place the Text Fields
Duplicating Objects
Change the Attributes of a Text Field
Add Text Labels
Add a Button to the Interface
Adding a Decorative Line
Setting the Initial First Responder and Enabling Tabbing
Test the Interface
Define the Classes
Create the Controller Class
Define outlets for the controller
Define actions for the controller
Define the Model Class
Connect the Model, Controller, and View
Generate an Instance of the Controller and Model
Connect the Controller to the Interface
Connect the Model to the Controller
Implement the Classes
Generate the Source Files
Examine an Interface (Header) File in Project Builder
Add the Conversion Method
Build and Run
Exercises
6. Windows, Views, and Controls
Windows and the Window System
Window, View, and Application
Key and Main Windows
The Window Menu
Panels
The View Hierarchy
Coordinate Systems
Screen Coordinate System
Window Coordinate System
View Coordinate System
Controls, Cells, and Formatters
Cells and Formatters
A Formatted Cell Example
Open the main nib file
Create the user interface
Add a text field
Create a controller
Define an outlet
Generate a controller instance
Connect the controller to the interface
Generate the source files
Statically type the outlet
Implement the awakeFromNib method
Add the formatter
Targets and Actions
Target/Action Example
Add a Refresh button
Define an action
Connect the button to the action
Update the source files
Implement the action method
Exercises
7. Custom Views
Custom View Creation Steps
Create a Custom View
Open the Main Nib File
Define a Subclass of NSView
Add a Custom View to the Main Window
Implement the Drawing Method
Autosizing of Views
Drawing into a View: Behind the Scenes
Draw Strings into a View
Create a Custom View
Implement the Drawing Method
Drawing Strings with Attributes
Draw Paths into a View
Create a Custom View
Implement the Drawing Method
Draw an Oval Path
Exercises
8. Event Handling
Events
The Event Cycle
Responders
First Responder
Event Routing
Dot View Application
Create the DotView Class
Create the Interface
Connect the Controls to DotView
Define the DotView Header
Define the DotView Class
Implement the initWithFrame: method
Implement the awakeFromNib: method
Implement the dealloc method
Implement the drawRect: method
Implement the isOpaque method
Implement the mouseDown: method
Implement the setColor: action method
Implement the setRadius: action method
Event Delegation
Create a Delegate
Delegation Using Sheets
Notifications
How Notifications Work
Notifications in Action
Memory-Management Considerations
Exercises
9. Models and Data Functionality
Protocols
Key-Value Coding
A Key-Value Coding Example
Table Views
Table View Example
Create the Interface
Configure the Table Columns
Declare the Data Source Class
Create the Data Source
Allow Modification of Table Entries
Adding Entries to the Model
Saving Data: Coding and Archiving
Adding Coding and Archiving to the Menu Application
Using Formatters
Sorting Tables
Exercises
III. Document-Based Applications
10. Multiple Document Architecture
Architectural Overview
The Document Object
The Document Controller
The Window Controller
Memory Management
Building a Document-Based Application
Document-Based Application Template
Create the Project
Examine the Document Interface
Examine the Document Implementation
Compose the Interface
Modify the Info Property List
Implement the MyDocument Class
Exercises
11. Rich-Text Handling
Cocoa’s Text System
Supported Text Data Types
Working with File Wrappers
Creating a Rich-Text Editor
Enabling the Font Menu
Text Storage and Attributed Text
Working with Attributed Text
Registering Undo Actions
Enabling the Text Menu
Handling Embedded Images
The Spoken Word
Exercises
IV. Miscellaneous Topics
12. Printing
Printing a View
Using Print Operations
Printing Using the Document Architecture
Setting Margins
Exercises
13. Bundles and Resources
Peeking Inside Bundles
Bundle Directories
Using Bundles
A Performance Diversion
Exercises
14. Localization
Mac OS X Language Preferences
Localizing Resources
Localized Resource Search Algorithm
Localizing Nib Files
Localizing Strings
Exercises
15. Defaults and Preferences
How Preferences Work
Using Defaults
Command-Line Preferences Access
Using Unique Application Identifiers
Exercises
16. Accessory Windows
The Role of File’s Owner
Making an Info Window
Create the Main Interface
Create the Inspector Panel
Implement the Code
Tracking Changes with Notifications
Exercises
17. Finishing Touches
Tidying Up the User Interface
Providing an Icon
Providing Help
Customizing the About Box
Giving Some Credit
Tweaking Compiler Settings
Packaging for Distribution
Closure
Exercises
V. Appendixes
A. Exercise Solutions
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Chapter 16
Chapter 17
B. Additional Resources
Documentation on Your Hard Drive
Printed Documentation
Getting Sample Code
Web Sites
Mailing Lists
Partnering with Apple
C. Using the Foundation and Application Kit API References
Cocoa Browser
Index
About the Authors
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Learning Cocoa with Objective-C
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset