今天讲Objective-C可以使用C语言的结构体
C Structures Can Hold Primitive Values
Some Cocoa and Cocoa Touch API use C structures to hold their values. As an example, it’s possible to ask a string object for the range of a substring, like this:
NSString *mainString = @"This is a long string";
NSRange substringRange = [mainString rangeOfString:@"long"];
An NSRange structure holds a location and a length. In this case, substringRange will hold a range of {10,4}—the “l” at the start of @"long" is the character at zero-based index 10 in mainString, and @"long" is 4 characters in length.
Similarly, if you need to write custom drawing code, you’ll need to interact with Quartz, which requires structures based around the CGFloat data type, like NSPoint and NSSize on OS X and CGPoint and CGSize on iOS. Again, CGFloat is defined differently depending on the target architecture.
For more information on the Quartz 2D drawing engine, see Quartz 2D Programming Guide.