You are previewing Pro Objective-C.
O'Reilly logo
Pro Objective-C

Book Description

The Objective-C programming language continues to grow in popularity and usage because of the power and ease-of-use of the language itself, along with the numerous features that continue to be added to the platform. If you have a basic knowledge of the language and want to further your expertise, Pro Objective-C is the book for you.

Pro Objective-C provides an in-depth, comprehensive guide to the language, its runtime, and key API's. It explains the key concepts of Objective-C in a clear, easy to understand manner, and also provides detailed coverage of its more complex features. In addition, the book includes numerous practical examples--code excerpts and complete applications--that demonstrate how to apply in code what you're learning.

The book begins with an exploration of Objective-C's basic features and key language elements. After reviewing the basics, it proceeds with an in-depth examination of the Objective-C dynamic programming features and runtime system. Next the book covers the Foundation Framework, the base layer of APIs that can be used for any Objective-C program. Finally, new and advanced features of Objective-C are introduced and shown how they make the Objective-C language even more powerful and expressive.

Each topic is covered thoroughly and is packed with the details you need to develop Objective-C code effectively. The most important features are given in-depth treatment, and each chapter contains numerous examples that demonstrate both the power and the subtlety of Objective-C.

Start reading Pro Objective-C and begin developing high-quality, professional apps on the OS X and iOS platforms using the Objective-C programming language!

What you'll learn

  • Objective-C fundamentals and key language elements

  • Objective-C runtime system

  • Foundation Framework APIs

  • Objective-C advanced language features

  • Xcode Essentials

  • Debugging with LLDB

Who this book is for

This book is geared towards intermediate to advanced developers who already have some Objective-C experience and want pro-level coverage of the language, including advanced Objective-C features, recent additions to the language, and practical usage of its core frameworks and APIs. It's also great for those developers not familiar with Objective-C that have done some C programming and also understand object-oriented programming concepts.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewer
  7. Acknowledgments
  8. Introduction
  9. Chapter 1: Getting Started
    1. Introduction
    2. Developing a Simple Objective-C Program
    3. Roundup
  10. Chapter 2: Using Classes
    1. Developing Your First Class
    2. Instance Variables
    3. Properties
    4. Methods
    5. Protocol
    6. Category
    7. Roundup
  11. Chapter 3: Objects and Messaging
    1. Creating Objects
    2. Message Dispatch
    3. Message Forwarding
    4. Roundup
  12. Chapter 4: Memory Management
    1. Program Memory Usage
    2. Objective-C Memory Model
    3. Implementing Manual Retain-Release
    4. Using Automatic Reference Counting
    5. Roundup
  13. Chapter 5: The Preprocessor
    1. Overview
    2. Preprocessor Language
    3. Roundup
  14. Chapter 6: Expert Section Using ARC
    1. ARC and Object Ownership
    2. Creating Multiple Order Entries
    3. Using ARC with Apple Frameworks and Services
    4. Objective-C Toll Free Bridging
    5. Using ARC Bridged Casts
    6. Roundup
  15. Chapter 7: Runtime System
    1. Dynamic Features
    2. Object Messaging
    3. Dynamic Typing
    4. Dynamic Binding
    5. Dynamic Method Resolution
    6. Dynamic Loading
    7. Introspection
    8. Roundup
  16. Chapter 8: Runtime Architecture
    1. Runtime Components
    2. Interacting with the Runtime
    3. Roundup
  17. Chapter 9: Expert Section: Using the Runtime APIs
    1. Extending a Program with Loadable Bundles
    2. Using the Runtime APIs
    3. Creating a Dynamic Proxy
    4. Roundup
  18. Chapter 10: Foundation Framework General Purpose Classes
    1. Root Classes
    2. Strings
    3. Value Objects
    4. Collections
    5. XML Processing
    6. Predicates
    7. Roundup
  19. Chapter 11: Foundation Framework System Services
    1. Network Services
    2. Application Services
    3. Regular Expressions and Text Processing
    4. File System Utilities
    5. Concurrency and Threading
    6. URL Handling
    7. Interprocess Communication
    8. Roundup
  20. Chapter 12: Foundation Framework Specialized Services
    1. Notifications
    2. Archives and Serialization
    3. Distributed Objects
    4. Scripting
    5. Roundup
  21. Chapter 13: Foundation Functions and Data Types
    1. Foundation Functions
    2. Data Types
    3. Constants
    4. Roundup
  22. Chapter 14: Expert Section: Error Handling
    1. Runtime Error Conditions
    2. NSError
    3. Exception Processing
    4. NSException
    5. Foundation Standard Exception Names
    6. Error Handling Guidelines
    7. Roundup
  23. Chapter 15: Blocks
    1. Block Syntax
    2. Blocks Are Closures!
    3. Memory Management with Blocks
    4. Using Blocks
    5. Roundup
  24. Chapter 16: Objective-C Literals
    1. Literals
    2. NSNumber Literals
    3. Container Literals
    4. Expression Literals
    5. Object Subscripting
    6. Custom Subscripting
    7. Editing Register Values Using Custom Subscripting
    8. Roundup
  25. Chapter 17: Concurrent Programming
    1. Concurrent Programming Fundamentals
    2. Challenges with Concurrency
    3. Shared Data
    4. Message Passing
    5. Concurrent Programming with Objective-C
    6. Language Features
    7. Message Passing
    8. Threads
    9. Using Threads for Concurrency
    10. Operations and Operation Queues
    11. Implementing Concurrent Operations
    12. Using Operation Queues for Concurrency
    13. Grand Central Dispatch
    14. Choosing the Right API for Concurrent Programming
    15. Roundup
  26. Chapter 18: Key-Value Programming
    1. Key-Value Coding
    2. KVC Design and Implementation
    3. Key-Value Observing
    4. KVO Design and Implementation
    5. Using Key-Value Programming
    6. Roundup
  27. Appendix A: Language Elements
    1. Variables
    2. Data Types
    3. Operators
    4. Statements
    5. Class Elements
  28. Appendix B: Xcode Xposed!
    1. Basic Concepts
    2. Targets
    3. Projects
    4. Executable Environment
    5. Workspaces
    6. Schemes
    7. Actions
    8. Roundup
  29. Appendix C: Using LLDB
    1. LLVM Overview
    2. LLDB
    3. Roundup
  30. Index