SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
In just 24 sessions of one hour or less, you can master Mac OS X Lion development from the ground up, and start writing tomorrow’s most exciting iOS-style Mac apps! Using this book’s straightforward, step-by-step approach, you’ll get comfortable with Apple’s powerful new development tools and techniques, build engaging user interfaces, integrate data and web services, and take advantage of Apple’s latest innovations…everything from gestures and multitouch to iCloud and In-App Purchasing. Every lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success!
Step-by-step instructions carefully walk you through the most common Mac OS X Lion development tasks.
Quizzes at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Printed in full color—figures and code appear as they do in Xcode
Introduction 1
Part I: Mac OS X Lion Programming Basics
HOUR 1: Introduction to Mac OS X Lion 7
Introducing Mac OS X Lion. 7
Summary 13
Q&A 13
HOUR 2: Introduction to the Developer Tools 15
Introducing the Mac Developer Center 15
Creating an Apple Developer Account. 17
Downloading Xcode and Other Developer Tools 21
Summary 24
Q&A 25
HOUR 3: Introducing Objective-C 27
Overview and History of Objective-C. 27
Creating a New Cocoa Application. 28
Exploring the Language with Some Basic Math 30
Using Strings. 32
Understanding Pointers and Equality 35
Passing Messages. 38
Controlling Program Flow 39
Summary 41
Q&A 41
HOUR 4: Object-Oriented Programming with Objective-C 43
Creating Classes 44
Adding Attributes to Classes 48
Adding Behavior to Classes 52
Using Objects and Classes 55
Extending Objects Through Inheritance. 56
Using Polymorphism 58
Summary 62
Q&A 62
HOUR 5: Understanding Memory Management 63
Introduction to Memory Management 63
Detecting and Fixing Memory Leaks 68
Using Automatic Reference Counting 72
Summary 75
Q&A 76
Part II: Cocoa Application Programming Basics
HOUR 6: Introducing Cocoa 77
A Brief Overview of Cocoa. 77
Taking a Tour of Interface Builder 81
Using the Utilities Panels and Inspectors 83
Summary 91
Q&A 92
HOUR 7: Using Controls and Layout with Cocoa 93
A Tour of the Basic Cocoa Controls 93
Comparing Traditional and Automatic Layouts 104
Summary 109
Q&A 110
HOUR 8: Creating Interactive Applications 111
Introducing Connections, Outlets, and Actions 111
Manipulating Controls at Runtime with Code. 120
Summary 121
Q&A 121
HOUR 9: Creating Data-Bound Interfaces 123
Introducing the Model-View-Controller Pattern 123
Introducing Cocoa Bindings. 125
Under the Hood with KVC and KVO 132
Summary 134
Q&A 134
HOUR 10: Working with Tables and Collections 135
Working with Bindings and Collections 135
Using Table Views 137
Using Collection Views 144
Using the Outline View 145
Summary 148
Q&A 148
HOUR 11: Working with Multitouch and Gestures 149
Introduction to Multitouch on Mac OS X Lion 149
Responding to Gestures and Multitouch Events 151
Summary 159
Q&A 159
Part III: Working with Data
HOUR 12: Working with User Defaults 161
Introduction to User Defaults and Preferences Panes 161
Reading and Writing User Defaults 162
Binding to the User Defaults Controller 164
Summary 170
Q&A 171
HOUR 13: Working with Core Data 173
Introducing Core Data 173
Creating Data Models. 174
Querying and Manipulating Data 177
Summary 186
Q&A 187
HOUR 14: Working with Documents, Versions, and Autosave 189
Building Document-Based Applications 189
Introducing Core Data Document-Based Applications 191
Using Versions and Autosave 197
Summary 198
Q&A 199
HOUR 15: Working with Apple’s iCloud 201
Introduction to iCloud 201
Ideal Scenarios for Using iCloud 202
Storing Key-Value Data in the Cloud 203
Storing Documents in the Cloud 204
Enabling Mac OS X Lion Applications for iCloud 211
Summary 211
Q&A 212
Part IV: Building Advanced Mac Applications
HOUR 16: Using Alert Panels and Sheets 213
Using Alert Panels 213
Using Sheets 219
Summary 224
Q&A 224
HOUR 17: Working with Images 225
Reading and Writing Images 225
Displaying Collections of Images 227
Manipulating Images with Core Image Filters. 229
Summary 235
Q&A 235
HOUR 18: Using Popovers 237
Introducing Popovers 237
Creating Popovers 239
Customizing Popovers. 243
Creating Detachable Popovers 244
Summary 249
Q&A 250
HOUR 19: Building Animated User Interfaces 251
Introduction to Core Animation 251
Animating Views 253
Advanced Animation Techniques 256
Summary 262
Q&A 263
HOUR 20: Consuming Web Services 265
Introducing Web Services 265
Making Web Service Calls 269
Summary 277
Q&A 278
HOUR 21: Building Full-Screen Applications 279
Overview of Full-Screen Applications. 279
Knowing When Full Screen Is Appropriate 283
Summary 285
Q&A 285
HOUR 22: Supporting Drag-and-Drop Behavior 287
Introduction to Drag-and-Drop 287
Programming Drag-and-Drop Behavior 290
Summary 298
Q&A 298
HOUR 23: Building Apps for the Mac App Store 299
Getting Started with iTunes Connect 299
Building Your Application 302
Preparing Your Application for Submission 306
Submitting Your Application 309
Summary 313
Q&A 314
HOUR 24: Supporting In-App Purchases 315
Introducing In-App Purchasing 315
Creating In-App Purchase Products in iTunes Connect 316
Using StoreKit to Support In-App Purchases 319
Summary 326
Q&A 326
Index 329