C Structures
Earlier in this chapter, you had a peek at a C structure, which is a
collection of named values. Because of the powers of numerous Objective-C
and Cocoa Touch data collections (such as NSArray
, NSDictionary
, and NSSet
classes), it’s unlikely you will find
yourself needing to compose structures in your code. But you do need to
understand how to use the ones that Cocoa Touch uses in some of its own
classes. In the course of this discussion, you will see syntax that is
reminiscent of functionless JavaScript objects, but structures are not
objects in the true sense.
To get a sense of how to use a structure (also known as a
C struct), look at the following triumvirate of
related CoreGraphics framework struct
s
that Cocoa Touch uses for geometric measurements:
struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint; struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize; struct CGRect { CGPoint origin; CGSize size; }; typedef struct CGRect CGRect;
If you search the SDK documentation for any of these data types,
you’ll see corresponding struct
definitions, each of which reveals important information about the names
of the values you will be getting or setting. The typedef
statement at the end of each struct
turns the struct
into a data type of the same name as the
struct
. Therefore, Cocoa Touch provides
the CGPoint
, CGSize
, and CGRect
data types, which you can use to assign
as data types to variables holding compatible values. The CGPoint ...
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.