Skip to Content
iPhone App Development: The Missing Manual
book

iPhone App Development: The Missing Manual

by Craig Hockenberry
May 2010
Beginner
352 pages
9h 44m
English
O'Reilly Media, Inc.
Content preview from iPhone App Development: The Missing Manual

Methods of Class

Earlier, you might have been a little confused by this code:

[NSString stringWithUTF8String:"Even"]

With all the talk of sending messages to object instances, now you're not using one. Where the heck is that message going?

To begin answering that question, take a look at the definition in the NSString interface:

+ (id)stringWithUTF8String:(const char *)bytes;

Yep, it's another wacky character courtesy of Objective-C. This time it's a plus sign (+).

On The Methods Behind the Madness, you saw that methods were defined with a minus sign at the beginning. But those are just instance methods. Class methods are another kind.

With instance methods, you need a variable that references the object instance before you can send the message. Sometimes this is a limitation in your class design: You'd like to make a method available without an object instance. Class methods are Objective-C's solution to this problem. With these methods, you send messages directly to the class without needing an actual object.

These class methods are often used to create new object instances. The +stringWithUTF8String: method is just such a case; sending the message to the class lets it return a new object for you to use in your code.

Note

You may be familiar with using factory objects. That's exactly what sending a message to the class does. The +stringWithUTF8String: message acted as a factory for a new instance of NSString.

So what could make your AwesomeStringMaker class more awesome? A class method that ...

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

Beginning iPhone Development with SwiftUI: Exploring the iOS SDK

Beginning iPhone Development with SwiftUI: Exploring the iOS SDK

Wally Wang

Publisher Resources

ISBN: 9780596809997Errata Page