Managing Text with NSString

Text is one of the most useful data types. The main iOS class for working with simple text is NSString. Although it does a simple job, it’s a huge class with a vast collection of methods, some of which are shown in Figure 7.1.

9781118462133-fg0701.tif

7.1 Just a few of the many methods built into NSString.

Creating a string

In spite of its complexity, you’ll likely use only a handful of the available methods in most projects.

To create a string, do this:

NSString *aNewString = @”A new string”;

You don’t need to use any of the more complex methods.

To duplicate a string, don’t do this:

NSString *string2 = string1;

As usual, this copies the pointer, not the data, and gives you two references to one object. Do this instead:

NSString *string2 = [NSString stringWithString: string1];

The stringWithFormat: method is widely used, because it can format text using standard NSLog format specifiers, like this:

NSString *aNewString =

[NSString stringWithFormat: @”This is a string: %@, and this is a float: %f”, anotherString, aFloat];

“%@” is replaced with the contents of anotherString, and “%f” is replaced with the contents of aFloat, formatted as a floating point number. (Details of key format options are listed in Appendix A.) You can use this method to concatenate multiple strings with optional separator characters:

NSString *aNewString =

[NSString stringWithFormat: @”Here are three ...

Get iOS App Development Portable Genius now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.