Skip to Content
Learning Cocoa with Objective-C, 3rd Edition
book

Learning Cocoa with Objective-C, 3rd Edition

by Paris Buttfield-Addison, Jonathon Manning
December 2012
Beginner
398 pages
9h 6m
English
O'Reilly Media, Inc.
Content preview from Learning Cocoa with Objective-C, 3rd Edition

Chapter 3. Foundation

Foundation is the underlying library that supports all Objective-C development. It provides basic support data structures such as strings, arrays, dictionaries, and other generic objects, as well as methods for working with them.

Foundation operates at a lower level of abstraction in your application than the higher-level Cocoa libraries. While Cocoa and UIKit are concerned with applications, views, and user input, Foundation is concerned with the lower-level task of organizing data. In this chapter, you’ll work with several of the key classes that Foundation provides, and learn about the design patterns that Cocoa and Cocoa Touch are based on.

Mutable and Immutable Objects

Almost every data storage class in Foundation comes in two flavors: mutable and immutable. Mutable objects are objects that you can modify after creating them; immutable objects can’t be changed after they’re created.

As an example, let’s look at the NSArray class, which we’ll discuss in more detail later in this chapter. NSArray stores objects as a list, but you can’t add, remove, or replace objects in an existing NSArray because it’s immutable. If you want to be able to change the contents, you need to work with the NSMutableArray class, which does allow you to modify it.

Why do we have both immutable and mutable versions of an object? Two main reasons:

  1. If an object is immutable, it knows that it will never have to change the way it’s laid out in memory, and therefore is more efficient.

  2. If you ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learning Cocoa with Objective-C, 4th Edition

Learning Cocoa with Objective-C, 4th Edition

Paris Buttfield-Addison, Jonathon Manning, Tim Nugent
Learning Cocoa

Learning Cocoa

Apple Computer Inc

Publisher Resources

ISBN: 9781449355432Errata Page