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 structs
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 ...
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