常见的结构体
1. NSPoint 和 CGPoint
它们是一个类型,只是NSPoint是对CGPoint的一种定义,
让它成为Foundation框架的类型
用来表示二维平面的一个点
typedef CGPoint NSPoint;
CGPoint的定义
struct CGPoint{
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
typedef double CGFloat; //64位double ,32位的是float
CGPoint c1;
c1.x = 20;
c1.y = 100;
CGPoint c2 = {10,20};
CGPoint c3 = {.x = 10};
//OC中特有的赋值方式
CGPoint c4 = CGPointMake(10,10);
NSPoint np1 = NSMakePoint(5, 5);
2. NSSize 和 CGSize
用来表示二维的宽和高
typedef CGSize NSSize;
struct CGSize {
CGFloat width;
CGFloat height;
};
CGSize s1;
s1.width = 200;
s1.height = 100;
CGSize s3 = {23,12};
CGSize s2 = CGMakeSize(20,30);
NSSize ns1 = NSMakeSize(12,34);
3. NSRect 和 CGRect
用来表示矩形的
typedef CGRect NSRect;
struct CGRect {
CGPoint origin;
CGSize size;
};
//origin 表示矩形的左上角的点
//size 表示矩形的大小
CGRect r1;
r1.origin.x = 0;
r1.origin.y = 0;
r1.size.width = 200;
r1.size.height= 80;
CGRect r2 = { {0,0}, {200,100} };
CGRect r3 = CGRectMake(0,0, 200,100);
NSRect nr1 = NSMakeRect(10,10, 200,100);
NSLog(@"nr1 = %@", NSStringFromRect(nr1));
4. 常见的结构体使用注意
苹果官方推荐使用CG开头的
CGPoint
CGSize
CGRect