Sorting Arrays
The NSArray
class offers a few
ways to sort the contents of an array, one of which will remind you
instantly of JavaScript array sorting by way of a separate function. In
all cases, pairs of array elements are compared against each other, just
as they are in JavaScript. For any two-item comparison—whether the items
are of type NSString
, NSNumber
, or NSDate
—the sorting method reports whether the
first item is lower, higher, or the same as the second item. Those states
correspond to three simple values representing the result of the
comparison of each pair of items. The sorting mechanism of NSArray
compares pairs in quick succession and
uses the results to arrange the elements. The sorted version is either
returned as a new array in the sorted order (NSArray
) or applied directly to the original
array (NSMutableArray
).
Your choice of sorting approach depends on the nature of the array. One approach is nicely suited to an array of simple objects (strings, numbers, and dates), while another lets you dig down deeper to sort on a key within an array of dictionaries. I’ll start with the easy one.
Sorting with a Selector
In Objective-C, a selector is a reference to a method. Whenever a method argument calls for a selector, the syntax for the argument value is as follows:
@selector(methodName
)
Yes, that’s a compiler directive making an appearance somewhere within a message (not out at the left margin, as you’ve seen elsewhere). The expression is analogous to JavaScript referencing ...
Get Learning the iOS 4 SDK for JavaScript Programmers 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.