Want to write iOS apps or desktop Mac applications? This introduction to programming and the Objective-C language is your first step on the journey from someone who uses apps to someone who writes them. Based on Big Nerd Ranch's popular Objective-C Bootcamp, Objective-C Programming: The Big Nerd Ranch Guide covers C, Objective-C, and the common programming idioms that enable developers to make the most of Apple technologies. Compatible with Xcode 5, iOS 7, and OS X Mavericks (10.9), this guide features short chapters and an engaging style to keep you motivated and moving forward. At the same time, it encourages you to think critically as a programmer.
Here are some of the topics covered:
Using Xcode, Apple's documentation, and other tools
Programming basics: variables, loops, functions, etc.
Objects, classes, methods, and messages
Pointers, addresses, and memory management with ARC
Properties and Key-Value Coding (KVC)
Classes from the Foundation framework
Delegation, target-action, and notification design patterns
Key-Value Observing (KVO)
Aaron Hillegass, a former employee at NeXT and Apple, has nearly two decades experience programming and teaching Objective-C, Cocoa, and, more recently, iOS. Aaron is the author of Cocoa Programming for Mac OS X and co-author of iOS Programming: The Big Nerd Ranch Guide. Both best-sellers, these books have helped many people develop and enhance their programming skills. In 2001, Aaron founded Big Nerd Ranch and began developing intensive courses that teach programming in a focused, distraction-free environment. He is currently working on site plans and blueprints for the new Ranch to be located in Atlanta, GA. Mikey Ward is a senior iOS and Cocoa instructor at Big Nerd Ranch. Mikey also convenes the Atlanta chapter of CocoaHeads, a worldwide group devoted to discussion of Apple's frameworks for writing Mac and iOS applications. Big Nerd Ranch is a unique software engineering and training company where monastic principles drive technological development. Since 2001, the company has been helping students master programming languages through public enrollment bootcamps, private corporate on-site training, and a growing roster of programming books. Big Nerd Ranch offers consultative services to a broad array of clients, shaping their mobile strategies and developing fresh and engaging mobile and desktop applications.
Part I: Getting Started 1. You and This Book 2. Your First Program Part II: How Programming Works 3. Variables and Types 4. if/else 5. Functions 6. Numbers 7. Loops 8. Addresses and Pointers 9. Pass By Reference 10. Structs 11. The Heap Part III: Objective-C and Foundation 12. Objects 13. More Messages 14. NSString 15. NSArray 16. Developer Documentation 17. Your First Class 18. Inheritance 19. Object Instance Variables 20. Preventing Memory Leaks 21. Collection Classes 22. Constants 23. Writing Files with NSString and NSData 24. Callbacks 25. Protocols 26. Property Lists Part IV: Event-Driven Applications 27. Your First iOS Application 28. Your First Cocoa Application Part V: Advanced Objective-C 29. init 30. Properties 31. Categories 32. Blocks Part VI: Advanced C 33. Bitwise Operations 34. C Strings 35. C Arrays 36. Command-Line Arguments 37. Switch Statements Part VII: Objective-C Runtime 38. How Messaging Works 39. How Classes Work 40. Runtime Attributes 41. Method Swizzling 42. Associated Objects