Learning Objective-C 2.0: A Hands-On Guide to Objective-C for Mac and iOS Developers


Get Started Fast with Objective-C 2.0 Programming for OS X, iPhone, iPod touch, and iPad

If you want to learn Objective-C 2.0 to write programs for Mac OS X, iPhone, iPad, or iPod touch, you’ve come to the right place! Concise, readable, and friendly, Learning Objective-C 2.0 is the perfect beginner’s guide to the latest version of Objective-C.

Longtime Mac OS X and iPhone developer Robert Clair covers everything from the absolute basics to ...

See more details below
Other sellers (Paperback)
  • All (12) from $1.99   
  • New (4) from $26.99   
  • Used (8) from $1.99   
Learning Objective-C 2.0: A Hands-On Guide to Objective-C for Mac and iOS Developers

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 43%)$31.99 List Price


Get Started Fast with Objective-C 2.0 Programming for OS X, iPhone, iPod touch, and iPad

If you want to learn Objective-C 2.0 to write programs for Mac OS X, iPhone, iPad, or iPod touch, you’ve come to the right place! Concise, readable, and friendly, Learning Objective-C 2.0 is the perfect beginner’s guide to the latest version of Objective-C.

Longtime Mac OS X and iPhone developer Robert Clair covers everything from the absolute basics to Objective-C 2.0’s newest innovations. Clair begins with a practical refresher on C and object-oriented programming and walks you through creating your first Objective-C program with Xcode. Next, you’ll master each core language feature, from objects and classes to messaging, frameworks, and protocols. Every concept is illustrated with simple examples, and many chapters contain hands-on practice exercises.

Throughout, Learning Objective-C 2.0 focuses on the features, concepts, and techniques that matter most day to day. The result is an outstanding first book for everyone who wants to begin programming for iPhone, iPod touch, iPad, or Mac OS X.


  • Understanding methods, messages, and the Objective-C messaging system
  • Defining classes, creating object instances, and using class objects
  • Using categories to extend classes without subclassing
  • Simplifying development with Objective-C 2.0 declared properties
  • Using protocols to emphasize behavior rather than class
  • Working with common Foundation classes for strings, arrays, dictionaries, sets, and number objects
  • Using Objective-C control structures, including Objective-C 2.0’s new fast enumeration construct
  • Understanding application security and hiding the declaration of methods that should stay private
  • Using the new blocks feature provided in Objective-C 2.0
Read More Show Less

Editorial Reviews

From the Publisher
“With Learning Objective-C 2.0, Robert Clair cuts right to the chase and provides not only comprehensive coverage of Objective-C, but also time-saving and headache-preventing insights drawn from a depth of real world, hands-on experience. The combination of concise overview, examples, and specific implementation details allows for rapid, complete, and well-rounded understanding of the language and its core features and concepts.”

—Scott D. Yelich, Mobile Application Developer

“There are a number of books on Objective-C that attempt to cover the entire gamut of object-oriented programming, the Objective-C computer language, and application development on Apple platforms. Such a range of topics is far too ambitious to be covered thoroughly in a single volume of finite size. Bob Clair’s book is focused on mastering the basics of Objective-C, which will allow a competent programmer to begin writing Objective-C code.”

—Joseph E. Sacco, Ph.D., J.E. Sacco & Associates, Inc.

“Bob Clair’s Learning Objective-C 2.0 is a masterfully crafted text that provides in-depth and interesting insight into the Objective-C language, enlightening new programmers and seasoned pros alike. When programmers new to the language ask about where they should start, this is the book I now refer them to.”

—Matt Long, Cocoa Is My Girlfriend (www.cimgf.com)

“Robert Clair has taken the Objective-C language and presented it in a way that makes it even easier to learn. Whether you’re a novice or professional programmer, you can pick up this book and begin to follow along without knowing C as a prerequisite.”

—Cory Bohon, Indie Developer and Blogger for Mac Life

“I like this book because it is technical without being dry, and readable without being fluffy.”

—Andy Lee, Author of AppKiDo

Read More Show Less

Product Details

  • ISBN-13: 9780321711380
  • Publisher: Addison-Wesley
  • Publication date: 8/6/2010
  • Series: Sams Teach Yourself Series
  • Pages: 372
  • Product dimensions: 7.26 (w) x 11.04 (h) x 0.84 (d)

Meet the Author

Robert Clair has spent more than twenty years writing commercial graphics and CAD software. For the past eight years, he has specialized in Mac OS X and iPhone development. As principal of Chromatic Bytes LLC, he has designed both OS X software (ZeusDraw and Shades) and iPhone programs (ZeusDraw Mobile and Orfeo). He has also consulted on a number of other iPhone and iPad applications.
Read More Show Less

Table of Contents

Preface xxiii

Acknowledgments xxxi

About the Author xxxiii

Part I: Introduction to Objective-C 1

Chapter 1: C, The Foundation of Objective-C 3

The Structure of a C Program 4

Variables 8

Operators 16

Expressions and Statements 21

Program Flow 22

Preprocessor 31

printf 33

Using gcc and gdb 35

Summary 37

Exercises 37

Chapter 2: More About C Variables 41

Memory Layout of an Objective-C Program 41

Automatic Variables 42

External Variables 43

Declaration Keywords 44

Scope 47

Dynamic Allocation 49

Summary 51

Exercises 52

Chapter 3: An Introduction to Object-Oriented Programming 55

Object-Oriented Programming 55

An Introduction to Objective-C 58

Objective-C Additions 66

Summary 71

Chapter 4: Your First Objective-C Program 73

Building with Xcode 73

Objective-C Program Structure 76

An Object-Oriented Hello World 79

HelloObjectiveC.m 86

Summary 88

Exercises 88

Part II: Language Basics 91

Chapter 5: Messaging 93

Methods 93

Messaging 96

Messaging Details 98

Under the Hood 106

Message Forwarding 108

Efficiency 109

Introspection and Other Runtime Fun 111

Summary 112

Exercises 113

Chapter 6: Classes and Objects 115

Defining a Class 115

Subclassing a Class 119

Creating Objects 126

Destroying Objects 135

Copying Objects 136

Summary 141

Exercises 141

Chapter 7: The Class Object 143

Class Objects 143

Other Class Methods 147

Mimicking Class Variables 151

Summary 157

Exercises 157

Chapter 8: Frameworks 159

What Is a Framework? 159

Cocoa Frameworks 161

AppKit 162

Core Foundation 163

Core Graphics 166

Core Animation 167

Other Apple-Supplied Frameworks 167

Third-Party Frameworks 168

Under the Hood 168

Summary 170

Chapter 9: Common Foundation Classes 171

Immutable and Mutable Classes 171

Class Clusters 172

NSString 173

Collection Classes 177

NSNumber 183

NSNull 184

NSData 185


Structures 187

Summary 188

Exercises 189

Chapter 10: Control Structures in Objective-C 191

if Statements 191

for Statements and Implicit Loops 195

while Statements and NSEnumerator 196

Fast Enumeration 199

An Example Using Fast Enumeration 201

Exceptions 205

Summary 210

Exercises 211

Chapter 11: Categories, Extensions, and Security 213

Categories 213

Extensions 218

Instance Variable Scope (Access Control) 220

Access Control for Methods 221

Namespaces 221

Security 222

Calling C Functions from Objective-C 224

Summary 226

Exercises 226

Chapter 12: Properties 229

Accessing Instance Variables Outside of an Object (Don’t Do It) 230

Declaring and Implementing Accessors 231

Accessors Using Properties 233

The @property Statement 236

More About @dynamic 238

Properties and Memory Management 240

Subclassing and Properties 240

Hidden Setters for readonly Properties 242

Properties as Documentation 242

Dot Syntax 243

Summary 246

Exercises 247

Chapter 13: Protocols 249

Protocols 249

Using Protocols 250

TablePrinter Example 253

Protocol Objects and Testing for Conformance 260

Informal Protocols 261

Summary 262

Exercises 263

Part III: Advanced Concepts 265

Chapter 14: Reference Counting 267

The Problem 268

Reference Counting 269

Receiving Objects 271

Ownership 273

dealloc 274

Returning Objects 276

retainCount 281

Multithreading 282

When Retain Counts Go Bad 283

Retain Cycles 285

The Final Goodbye: When Programs Terminate 288

Summary 288

Exercises 289

Chapter 15: Garbage Collection 291

Garbage Collection: The Theory 291

Garbage Collection: The Practice 293

Using Garbage Collection 294

Finalizers 296

malloc and Garbage Collection 297

Core Foundation Objects and Garbage Collection 298

Some Bumps in the Road 299

Garbage Collection Pro and Con 303

Summary 305

Exercises 305

Chapter 16: Blocks 309

Function Pointers 310

The Trouble with Function Pointers 314

NSInvocation 315

Blocks 317

Some Philosophical Reservations 331

Summary 332

Exercises 332

Part IV: Appendices 335

Appendix A: Reserved Words and Compiler Directives 337

Appendix B: Toll-Free Bridged Classes 339

Appendix C: 32- and 64-Bit 341

Kernel and User Programs in 64-Bit 342

Coding Differences for 64-Bit Programs 342

Performance 342

Compiling for 64-Bit 343

More Information 343

Appendix D: Runtimes, Old and New 345

Synthesized Instance Variables 345

The Fragile Base Class Problem—Solved 347

Appendix E: Resources for Objective-C 349

Apple Resources 349

Internet Resources 350

Groups 350

Books 350

Index 351

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)