Programming For Mac Cocoa



< Programming Mac OS X with Cocoa for Beginners(Redirected from Programming Mac OS X with Cocoa for beginners/What is Cocoa?)

Cocoa is possibly one of the most rewarding, fun and productive ways to program a modern computer yet devised. If you own a Mac running Mac OS X, you already have Cocoa, and all the tools needed to program your Mac are available for free from Apple. Anyone who has an interest in programming can use Cocoa to write Mac applications, yet it is not just for beginners; many of the best OS X software titles available are written using Cocoa. You are able to harness the full power of the machine from Cocoa.

Programming using Cocoa involves both using a graphical user interface (GUI -- pronounced 'gooey') tool to build your user interfaces, and an integrated development environment (IDE). Cocoa consists of hundreds of ready-built classes, which are pre-programmed modules of reusable code, that you can simply include in your own work. Since these classes are well designed, powerful and fully debugged, using them saves you hundreds of hours in building in complex functionality.

Cocoa is the name given to the complete set of classes, functions and constants, grouped together into an Application Programming Interface, or API. For building Mac applications Cocoa is the only API that is really used anymore. (The other APIs that used to be provided by Apple, the Classic API and the Carbon API have been deprecated.)

The best-selling introduction to Cocoa, once again updated to cover the latest Mac programming technologies, and still enthusiastically recommended by experienced Mac OS X developers. “Aaron’s book is the gold standard for Mac OS X programming books—beautifully written, and thoughtfully sculpted. The best book on Leopard development.”.

To get the most out of this text, you will need to be running Mac OS X 10.3 or later. If you have 10.2, most of what is here will work OK, but the tools as described will be different, and a little harder to use. The coding examples avoid Cocoa features that only exist on 10.3 or 10.4, but later chapters will explain them.

  1. The best-selling introduction to Cocoa, once again updated to cover the latest Mac programming technologies, and still enthusiastically recommended by experienced Mac OS X developers. 'Cocoa® Programming for Mac® OS X is considered by most to be the de-facto intro-to-OS X programming text.' -Bob Rudis, the Apple Blog 'I would highly recommend this title to anyone interested in Mac development.
  2. Cocoa® Programming for Mac® OS X, Second Edition, will give you a complete understanding of how to use these tremendously powerful tools and frameworks to write full-featured applications for the Mac. Guiding programmers through the key features of Cocoa, this book emphasizes design patterns that enable you to predict the behavior of classes.
  3. COCOA PROGRAMMING FOR MAC OS X (3RD EDITION) book. Our website was launched by using a aspire to work as a complete online digital local library that provides use of multitude of PDF e-book selection. You might find many kinds of e-book and also other literatures from our documents data bank. Particular well-known issues that distribute on our.
  4. Create even more powerful Mac versions of your iPad apps. Apps built with Mac Catalyst now take on the new look of macOS Big Sur and help you better define the look and behavior of your apps. You can choose to turn off automatic scaling of iPad controls and layout, allowing you to precisely place every pixel on the screen.

Significant parts of this text describe older versions of Interface Builder. Some of what is described will not work with version 3.0.

Above all, this text aims to get you started in the smoothest way possible, so that you can begin to see not just how powerful Cocoa can be, but also how much fun it is to work with.

Retrieved from 'https://en.wikibooks.org/w/index.php?title=Programming_Mac_OS_X_with_Cocoa_for_Beginners/What_is_Cocoa%3F&oldid=3263951'

Home > Store

Share|

Register your product to gain access to bonus material or receive a coupon.

  • By Aaron Hillegass
  • Published Apr 30, 2004 by Addison-Wesley Professional.

Premium Website

  • Sorry, this book is no longer in print.

Description

Programming for mac cocoa cheese
  • Copyright 2004
  • Edition: 2nd
  • Premium Website
  • ISBN-10: 0-321-21314-9
  • ISBN-13: 978-0-321-21314-3

A new edition of this title is available, ISBN-10: 0321503619 ISBN-13: 9780321503619

The highly acclaimed introduction to Cocoa–recommended most by experienced Mac OS X developers now updated and expanded.

Here's what critics said about the first edition:

'Reading this book is the absolute best way to learn how to harness the power of this amazing technology.'
Andrew Stone, President, Stone Design, www.stone.com

'Make sure this is the first one you pick up. It's the best book for a beginning Cocoa programmer.'
–From the review on HyperJeff.net&

'I love this book. The descriptions are clear, the examples logical. Everything a programmer needs to get up to speed on Cocoa.'
Dave Mark, Editor, MacTech Magazine

To help programmers develop applications for Mac OS X, Apple is now giving away XCode, Interface Builder, and the Cocoa frameworks–the tools used to create Safari, GarageBand, Mail, and the iApps. Cocoa® Programming for Mac® OS X, Second Edition, will give you a complete understanding of how to use these tremendously powerful tools and frameworks to write full-featured applications for the Mac.

Guiding programmers through the key features of Cocoa, this book emphasizes design patterns that enable you to predict the behavior of classes you have never used before. Written in a tutorial format, it takes you step-by-step through the creation of six applications and an Interface Builder palette. Each project introduces several new ideas, and as each concept or technique is discussed, the author, drawing on his own extensive experience, shows you the right way to use it.

Updated for Xcode and Mac OS X 10.3, new chapters in this second edition include coverage of OpenGL, AppleScriptability, the undo manager, creating frameworks, and a brief introduction to using GNUstep on Linux.


Extras

Related Articles

Sample Content

Online Sample Chapter

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Table of Contents


1. Cocoa: What Is It?

A Little History.

Tools.

Language.

Objects, Classes, Methods, and Messages.

Frameworks.

How to Read This Book.

Typographical Conventions.

Common Mistakes.

How to Learn.


2. Let's Get Started.

In Xcode.

Create a New Project.

The main Function.

In Interface Builder.

The Standard Palettes.

The Blank Window.

Lay Out the Interface.

The Doc Window.

Create a Class.

Create an Instance.

Make Connections.

Back in Xcode.

Types and Constants in Objective-C.

Look at the Header File.

Edit the Implementation File.

Build and Run.

awakeFromNib.

Documentation.

What Have You Done?


3. Objective-C.

Creating and Using Instances.

Using Existing Classes.

Memory Management: Retain Count, Releasing, and Retaining.

Sending Messages to nil.

NSObject, NSArray, NSMutableArray, and NSString.

'Inherits from' Versus 'Uses' or 'Knows About'.

Creating Your Own Classes.

Creating the LotteryEntry Class.

Changing mainm.

Implementing a description Method.

Writing Initializers.

Initializers with Arguments.

The Debugger.

What Have You Done?

For the More Curious: How Does Messaging Work?

Challenge.


4. Controls.

Some Commonly Used Subclasses of NSControl.

NSButton.

NSSlider.

NSTextField.

Start the SpeakLine Example.

Lay Out the Nib File.

Making Connections in Interface Builder.

Implementing the AppController Class.

Extending an Existing User Interface.

For the More Curious: Setting the Target Programmatically.

Challenge.


5. Helper Objects.

Delegates.

The NSTableView and Its dataSource.

AppController Interface File.

Lay Out the User Interface.

Make Connections.

Edit AppControllerm.

Common Errors in Implementing a Delegate.

Many Objects Have Delegates.

Retain Cycles.

For the More Curious: How Delegates Work.

Challenge.


6. Bindings and NSController.

Starting the RaiseMan Application.

Key-Value Coding.

In Interface Builder.

Key-Value Coding and nil.

Add Sorting.

For the More Curious: Sorting Without NSArrayController.

For the More Curious: Key Paths.

Challenge 1.

Challenge 2.


7. NSUndoManager.

NSInvocation.

How the NSUndoManager Works.

Adding Undo to RaiseMan.

Key-Value Observing.

Undo for Edits.

Programming For Mac Cocoa

For the More Curious: Windows and the Undo Manager.


8. Archiving.

NSCoder and NSCoding.

Encoding.

Decoding.

The Document Architecture.

Infoplist and NSDocumentController.

Programming

NSDocument.

NSWindowController.

Saving and NSKeyedArchiver.

Loading and NSKeyedUnarchiver.

Setting the Extension and Icon for the File Type.

For the More Curious: Preventing Infinite Loops.

For the More Curious: Versioning.

For the More Curious: Creating a Protocol.

For the More Curious: Document-Based Applications Without Undo.


9. Nib Files and NSWindowController.

NSPanel.

Adding a Panel to the Application.

MainMenunib.

Setting Up the Menu Item.

AppControllerm.

Preferencesnib.

PreferenceControllerm.

For the More Curious: NSBundle.

Challenge 1.

Challenge 2.


10. User Defaults.

NSDictionary and NSMutableDictionary.

NSDictionary.

NSMutableDictionary.

NSUserDefaults.

Precedence of Different Types of Defaults.

Setting the Identifier for the Application.

Creating Keys for the Names of the Defaults.

Registering Defaults.

Let the User Edit the Defaults.

Using the Defaults.

Suppressing the Creation of Untitled Documents.

Setting the Background Color on the Table View.

For the More Curious: Reading and Writing Defaults from the Command Line.

Challenge.


11. Using Notifications.

What Notifications Are.

What Notifications Are Not.

NSNotification.

NSNotificationCenter.

Posting a Notification.

Registering as an Observer.

Unregistering the Observer.

Handling the Notification When It Arrives.

For the More Curious: Delegates and Notifications.

For the More Curious: The userInfo Dictionary.

Challenge 1.

Challenge 2.


12. Using Alert Panels.

Make the User Confirm the Deletion.

Challenge.


13. Localization.

Localizing a Nib File.

String Tables.

Creating String Tables.

Using the String Table.

For the More Curious: nibtool.

For the More Curious: Explicit Ordering of Tokens in Format Strings.


14. Custom Views.

The View Hierarchy.

Get a View to Draw Itself.

Create an Instance of a View Subclass.

Size Info.

drawRect:.

Drawing with NSBezierPath.

NSScrollView.

For the More Curious: Cells.

For the More Curious: isFlipped.

Challenge.


15. Images and Mouse Events.

NSResponder.

NSEvent.

Getting Mouse Events.

Using NSOpenPanel.

Change the Nib File.

awakeFromNib Versus init.

Edit the Code.

Composite an Image onto Your View.

The View's Coordinate System.

Autoscrolling.

For the More Curious: NSImage.

Challenge.


16. Responders and Keyboard Events.

NSResponder.

NSEvent.

Create a New Project with a Custom View.

Edit the Nib File.

Write the Code.

For the More Curious: Rollovers.


17. Working with Fonts and NSAttributedString.

NSFont.

Commonly Used Methods in NSFont.

NSAttributedString.

Drawing Strings and Attributed Strings.

Making Letters Appear.

Getting Your View to Generate PDF Data.

For the More Curious: NSFontManager.

Challenge 1.

Challenge 2.


18. Pasteboards and Nil-Targeted Actions.

NSPasteboard.

Add Cut, Copy, and Paste to BigLetterView.

Nil-Targeted Actions.

Looking at the Nib File.

For the More Curious: Which Object Really Sends the Action Message?

For the More Curious: Lazy Copying.

Challenge.


19. Categories.

Add a Method to NSString.

For the More Curious: Declaring Private Methods.


20. Drag-and-Drop.

Make BigLetterView Be a Drag Source.

After the Drop.

Make BigLetterView Be a Drag Destination.

registerForDraggedTypes.

Add Highlighting.

Cocoa Programming For Mac Os X

Implement the Dragging Destination Methods.

Testing.


21. NSTimer.

Lay Out the Interface.

Make Connections.

Adding Code to AppController.

For the More Curious: NSRunLoop.

Challenge.


22. Sheets.

Adding a Sheet.

Add Outlets and Actions.

Lay Out the Interface.

Add Code.

For the More Curious: contextInfo.

For the More Curious: Modal Windows.

For the More Curious: Alert Sheets.

For the More Curious: NSDrawer.

Challenge.


23. Creating NSFormatters.

Cocoa Programming For Mac Os X

A Basic Formatter.

Edit the Interface File for the AppController Class.

Edit the Nib File.

NSColorList.

Searching Strings for Substrings.

Create a Subclass of NSFormatter.

The Delegate of the NSControl.

Checking Partial Strings.

Formatters That Return Attributed Strings.

Challenge.


24. Printing.

Adding Printing to TypingTutor.

Dealing with Pagination.

For the More Curious: Am I Drawing to the Screen?

Using ObjectAlloc.

Challenge.


25. Updating Menus.

Making a BigLetterView Uncopyable.

For the More Curious: Menu Delegates.


26. Working with NSTextView.

NSTextView.

Messages the Delegate Will Be Sent.

Build the Editor with Which This Book Was Written.

Read, Write, and Edit Text Files.

Add a Context-Sensitive Menu.

Replace the Selection.

For the More Curious: The Field Editor.

Challenge.


27. Creating Interface Builder Palettes.

Add NSCoding Methods to BigLetterView.

Create a Palette Project.

Edit the Nib File for Your Palette.

palettetable.

Build and Test.

finishInstantiate.

Adding an Inspector.

Create a Nib File for Your Inspector.

Code for an Inspector.

Adding Bindings to a Custom View.

For the More Curious: How to Palettize Objects That Are Not Views.

Challenge.


28. AppleScript.

Making an Application AppleScript-able.

Create the Plists.

Handling the Apple Events.


29. Cocoa and OpenGL.

A Simple Cocoa/OpenGL Application.


30. Creating Frameworks.

Create a Framework.

Embed the Framework in an Application.

Compile the Framework for Embedding.

Compile the Application with the Framework.

Prebinding.

Zero-Link.


31. GNUstep.

Programming For Mac Cocoa Key


Creating a System That Will Run GNUstep Applications.

Building and Starting the Development Tools.

Creating the RandomApp with GNUstep.

Mac Cocoa


Cocoa Programming For Mac Os X 5th Edition

32. The End.
Index.

Index

Download the Index file related to this title.

More Information

Other Things You Might Like

  • Book $55.99
  • eBook (Watermarked) $55.99

Cocoa Programming For Mac Os X 6th Edition

  • Web Edition $55.99