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

Book Description

Objective-C is today's fastest growing programming language, at least in part due to the popularity of Apple's Mac, iPhone and iPad. Beginning Objective-C is for you if you have some programming experience, but you're new to the Objective-C programming language and you want a modern—and fast—way forwards to your own coding projects.

Beginning Objective-C offers you a modern programmer's perspective on Objective-C courtesy of two of the best iOS and Mac developers in the field today, and gets you programming to the best of your ability in this important language. It gets you rolling fast into the sound fundamentals and idioms of Objective-C on the Mac and iOS, in order to learn how best to construct your applications and libraries, making the best use of the tools it provides— no matter what projects you plan to build. The book offers thorough introductions to the core tenets of the language itself and its primary toolkits: the Foundation and AppKit frameworks. Within its pages you will encounter a mine of information on many topics, including use of the file system and network APIs, concurrency and multi-core programming, the user interface system architecture, data modeling, and more.

You'll soon find yourself building a fairly complex Objective-C based application, and mastering the language ready for your own projects.

If you're new to programming altogether, then Apress has other Objective-C books for you such as our Learning and Absolute Beginner titles—otherwise, let your existing skills ramp you fast forwards in Objective-C with Beginning Objective-C so that you can start building your own applications quickly.

What you'll learn

  • How to build your first Objective-C application or two

  • What is OOP or object oriented programming and how it impacts Objective-C

  • What are the Objective-C language features and the foundational APIs

  • How to use the Filesystem, I/O and networking APIs

  • How to build the graphical user interface and the user experience around and in it

  • How to work with data and advanced data management

  • How to work within the limits of the App Sandbox on OS X

  • The use of XPC to split your application into separate modules within their own sandboxes

Who this book is for

This book is for programmers with some programming knowledge who are new to the Objective-C programming language and want a modern, fast, contemporary route towards programming the language by building upon their existing knowledge of programming. Existing Objective-C programmers can also benefit from the book's in-depth information on new techniques and technology and its strong emphasis on tried-and-tested Objective-C programming idioms.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Authors
  6. About the Technical Reviewer
  7. Acknowledgments
  8. Chapter 1: Getting Started with Objective-C
    1. Xcode
    2. Creating Your First Project
    3. Language Fundamentals
    4. Summary
  9. Chapter 2: Object-Oriented Programming
    1. Objects: Classes and Instances
    2. Objects in Objective-C
    3. Writing Objective-C
    4. Summary
  10. Chapter 3: Foundational APIs
    1. Strings
    2. Numbers
    3. Data Objects
    4. Collections
    5. Rolling Your Own
    6. Reflection and Type Introspection
    7. Threading and Grand Central Dispatch
    8. Run Loops
    9. Coders and Decoders
    10. Property Lists
    11. Summary
  11. Chapter 4: Objective-C Language Features
    1. Strong and Weak References
    2. Autorelease Pools
    3. Exceptions
    4. Synchronization
    5. In-Depth: Messaging
    6. Proxies and Message Forwarding
    7. Blocks
    8. Summary
  12. Chapter 5: Using the Filesystem
    1. Files, Folders, and URLs
    2. Filesystem Change Coordination
    3. Searching with Spotlight
    4. Files in the Cloud
    5. Summary
  13. Chapter 6: Networking: Connections, Data, and the Cloud
    1. Basic Principles
    2. The Cocoa URL Loading System
    3. Network Data
    4. Network Service Location
    5. Summary
  14. Chapter 7: User Interfaces: The Application Kit
    1. Coding Practices: Model-View-Controller
    2. Windows, Panels, and Views
    3. Interface Builder
    4. Layout and Animation
    5. Drawing Your Interface
    6. Video Playback
    7. Summary
  15. Chapter 8: Data Management with Core Data
    1. Introducing Core Data
    2. Creating an Object Model
    3. Multithreading and Core Data
    4. Populating Your Store
    5. The User Interface
    6. Summary
  16. Chapter 9: Writing an Application
    1. Enabling iCloud
    2. Enabling the App Sandbox
    3. Core Data and iCloud
    4. Sharing Your Data
    5. Implementing the Browser
    6. Vending Your Data
    7. Server-Side Networking
    8. Data Encoding
    9. Clients and Commands
    10. Accessing Remote Address Books
    11. Displaying Remote Address Books
    12. Summary
  17. Chapter 10: Après Code: Distributing Your Application
    1. Whither iOS?
    2. Distributing Your Application
    3. Summary
  18. Index