Learning Objective-C 2.0
Robert Clair
Learning Objective-C 2.0
Robert Clair
- Producent: Addison Wesley Publishing Company
- Rok produkcji: 2012
- ISBN: 9780321832085
- Ilość stron: 480
- Oprawa: Miękka
Niedostępna
Opis: Learning Objective-C 2.0 - Robert Clair
Get Started Fast with Objective-C 2.0 Programming for OS X Mountain Lion, iOS 5.1, and Beyond Fully updated for Xcode 4.4, Learning Objective-C 2.0, Second Edition, is today's most useful beginner's guide to Objective-C 2.0. One step at a time, it will help you master the newest version of Objective-C 2.0 and start writing high-quality programs for OS X 10.8 Mountain Lion, iOS 5.1, and all of Apple's newest computers and devices. Top OS X and iOS developer Robert Clair first reviews the essential object and C concepts that every Objective-C 2.0 developer needs to know. Next, he introduces the basics of the Objective-C 2.0 language itself, walking through code examples one line at a time and explaining what's happening behind the scenes. This revised edition thoroughly introduces Apple's new Automated Reference Counting (ARC), while also teaching conventional memory-management techniques that remain indispensable. Carefully building on what you've already learned, Clair progresses to increasingly sophisticated techniques in areas ranging from frameworks to security. Every topic has been carefully chosen for its value in real-world, day-to-day programming, and many topics are supported by hands-on practice exercises. Coverage includes * Reviewing key C techniques and concepts, from program structure and formats to variables and scope * Understanding how objects and classes are applied in Objective-C 2.0 * Writing your first Objective-C program with Xcode 4.4 * Using messaging to efficiently perform tasks with objects * Getting started with Apple's powerful frameworks and foundation classes * Using Objective-C control structures, including Fast Enumeration and exception handling * Adding methods to classes without subclassing * Using declared properties to save time and simplify your code * Mastering ARC and conventional memory management, and knowing when to use each * Using Blocks to prepare for concurrency with Apple's Grand Central Dispatch * Leveraging Xcode 4.4 improvements to enums and @implementation "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 AppKiDoPreface xxv Acknowledgments xxxv About the Author xxxvii 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 23 Preprocessor 33 Command Line Compiling and Debugging 37 Summary 39 Exercises 39 Chapter 2: More about C Variables 43 Memory Layout of a C Program 43 Automatic Variables 44 External Variables 46 Declaration Keywords 46 Scope 50 Dynamic Allocation 51 Summary 54 Exercises 55 Chapter 3: An Introduction to Object-Oriented Programming 57 Object-Oriented Programming 57 An Introduction to Objective-C 60 Objective-C Additions 68 Summary 74 Chapter 4: Your First Objective-C Program 75 Building with Xcode 75 Objective-C Program Structure 79 An Object-Oriented "Hello World" 83 main.m 90 Summary 92 Exercises 92 Part II: Language Basics 95 Chapter 5: Messaging 97 Methods 97 A Simple Method 97 Methods with Arguments 98 Messaging 100 Messaging Details 103 Under the Hood 111 Message Forwarding 113 Efficiency 114 Introspection and Other Runtime Fun 115 Summary 117 Exercises 117 Chapter 6: Classes and Objects 119 Defining a Class 119 Subclassing a Class 123 Creating Objects 131 Destroying Objects 139 Copying Objects 141 Summary 146 Exercises 146 Chapter 7: The Class Object 149 Class Objects 149 Other Class Methods 153 Mimicking Class Variables 158 Summary 163 Exercises 164 Chapter 8: Frameworks 167 What Is a Framework? 168 Cocoa and Cocoa Touch 169 AppKit 170 UIKit 171 Core Foundation 172 Core Graphics 175 Core Animation 176 Other Apple-Supplied Frameworks 176 Third-Party Frameworks 177 Under the Hood 178 Summary 179 Chapter 9: Common Foundation Classes 181 Immutable and Mutable Classes 181 Class Clusters 182 NSString 183 Collection Classes 188 NSNumber 193 NSNull 195 NSData 196 NSURL 197 Objective-C Literals and Object Subscripting 198 Structures 204 Geometry Structures on iOS 206 Summary 206 Exercises 207 Chapter 10: Control Structures in Objective-C 209 if Statements 209 for Statements and Implicit Loops 213 while Statements and NSEnumerator 215 Fast Enumeration 217 An Example Using Fast Enumeration 220 Exceptions 223 Summary 229 Exercises 230 Chapter 11: Categories, Extensions, and Security 233 Categories 233 Associative References 238 Extensions 240 Instance Variable Scope (Access Control) 242 Hiding Your Instance Variable Declarations 243 Access Control for Methods 246 Namespaces 246 Security 246 Calling C Functions from Objective-C 250 Summary 251 Exercises 251 Chapter 12: Properties 253 Accessing Instance Variables Outside of an Object (Don't Do It) 254 Declaring and Implementing Accessors 255 Accessors Using Properties 258 Synthesized Instance Variables 260 @synthesize by Default 261 Synthesis Summary 262 Private Properties 263 The @property Statement 263 More about @dynamic 266 Properties without Instance Variables 267 Properties and Memory Management 268 A Look Ahead at Automatic Reference Counting (ARC) 269 Subclassing and Properties 270 Hidden Setters for readonly Properties 271 Properties as Documentation 272 Dot Syntax 272 Summary 276 Exercises 277 Chapter 13: Protocols 279 The Rationale for Protocols 279 Using Protocols 280 TablePrinter 285 FruitBasket 287 main 288 A Problem 289 Implement the Optional Methods 290 Protocol Objects and Testing for Conformance 291 Informal Protocols 291 Summary 292 Exercises 293 Part III: Advanced Concepts 295 Chapter 14: Memory Management Overview 297 The Problem 298 The Solutions: Objective-C Memory Management 299 Onward 300 Chapter 15: Reference Counting 301 Reference Counting Basics 301 Receiving Objects 303 Ownership 305 dealloc 306 Returning Objects 308 retainCount 314 Multithreading 314 When Retain Counts Go Bad 316 Retain Cycles 319 The Final Goodbye: When Programs Terminate 321 Summary 322 Exercises 323 Chapter 16: ARC 325 What ARC Is and Is Not 326 How ARC Works 326 ARC Imposes Some Rules 328 New Variable Qualifiers 332 Properties 336 Retain Cycles 337 ARC and Core Foundation 340 Casting to and from void* 343 ARC and Extra Autorelease Pools 346 ARC and Exceptions 346 Using ARC 347 ARC Uses Runtime Functions 349 More Information 349 Summary 350 Exercises 351 Chapter 17: Blocks 353 Function Pointers 354 NSInvocation 359 Blocks 362 Some Philosophical Reservations 377 Summary 378 Exercises 378 Chapter 18: A Few More Things 381 Enums with a Fixed Underlying Type 381 Forward Declarations of Methods in the @implementation Block Are No Longer Needed 384 Some New Documentation 387 Summary 387 Exercises 387 Part IV: Appendices 389 Appendix A: Reserved Words and Compiler Directives 391 Appendix B: Toll-Free Bridged Classes 393 Appendix C: 32- and 64-Bit 395 Kernel and User Programs in 64-Bit 396 Coding Differences for 64-Bit Programs 396 Performance 396 Compiling for 32-Bit and 64-Bit 397 More Information 398 Appendix D: The Fragile Base Class Problem 399 Appendix E: Resources for Objective-C 401 Apple Resources 401 Internet Resources 402 Groups 402 Books 403 Index 405
Szczegóły: Learning Objective-C 2.0 - Robert Clair
Tytuł: Learning Objective-C 2.0
Autor: Robert Clair
Producent: Addison Wesley Publishing Company
ISBN: 9780321832085
Rok produkcji: 2012
Ilość stron: 480
Oprawa: Miękka
Waga: 0.73 kg