Learning Objective-C 2.0 - Robert Clair

Learning Objective-C 2.0

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

(Autor)

Buch | Softcover
416 Seiten
2010
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-71138-0 (ISBN)
32,95 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
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.

 

COVERAGE INCLUDES

 



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

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.

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

NSURL 186

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

Erscheint lt. Verlag 5.8.2010
Verlagsort New Jersey
Sprache englisch
Maße 229 x 179 mm
Gewicht 650 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Mac / Cocoa Programmierung
ISBN-10 0-321-71138-6 / 0321711386
ISBN-13 978-0-321-71138-0 / 9780321711380
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

Buch (2023)
Carl Hanser (Verlag)
59,99
Das umfassende Handbuch. Apps entwickeln für iOS, macOS und tvOS. …

von Michael Kofler

Buch | Hardcover (2019)
Rheinwerk (Verlag)
49,90
The Big Nerd Ranch Guide

von Matthew Mathias; Mikey Ward; John Gallagher

Buch | Softcover (2020)
Big Nerd Ranch Guides (Verlag)
48,75