Enumerated Types
In your tour of Cocoa Touch frameworks, you will encounter many
collections of values known as enumerated types.
Defined in C with the enum statement,
the construction is a collection of convenient names representing integer
values. It’s easier to show you than explain it.
You are probably familiar with the Maps app, which lets you select
from three different map styles: standard, satellite, and hybrid. If you
add a map view to your app, your code can change the style by sending the
setMapType: message to an instance of
MKMapView.
Acceptable values are integers: 0,
1, and 2 to denote standard, satellite, and hybrid,
respectively. To help make your code more readable, these values have been
assigned to names that act as constants for their designated data type
(i.e., they can’t be used in other places). Because the values are all
related, they are grouped into an enumerated list and assigned a type
definition. The three map style values are defined in the mapping
framework as follows:
enum {
MKMapTypeStandard,
MKMapTypeSatellite,
MKMapTypeHybrid
};
typedef NSUInteger MKMapType;By default, an enum type assigns
integer values (beginning with 0) to the constant names in the group. It is also possible to assign explicit numbers to each constant name or assign a different starting point for the items by assigning a nonzero value to one item (in which case, subsequent items have incremental integer values). For your coding, you don’t concern yourself with the integer values, ...
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