底层封装是使用了typedef定义的结构体
typedef struct _NSString{
xxx
xxx
} NSString;
1. NSRange 结构体
#注意结构体不是对象
3种定义方式
1 typedef struct _NSRange{
2 int location;
3 int length;
4 } NSRange;
(1) 先声明后赋值
(2)同时声明、按照顺序赋值
(3)使用c函数,同时声明、赋值,并指定赋值的成员变量名
1 NSRange range = {1, 2};
2 NSRange range2 = {.location = 1, .length = 2};
3 NSRange range3 = NSMakeRange(1, 2);
返回对象字符串形式:
NSStringFromRange(NSRange)
转换并返回一个字符串
2. NSPoint / CGPoint 结构体
1 void point()
2 {
3 NSPoint p;
4 p.x = 1;
5 p.y = 2;
6
7 p = NSMakePoint(4, 2);
8
9 p = CGPointMake(11, 33);
10
11 NSString *str = NSStringFromPoint(p);
12 NSLog(@"The point is %@", str);
13 }
3. NSSize/ CGSize 结构体
1 void size()
2 {
3 NSSize size;
4 size.width = 100;
5 size.height = 90;
6
7 size = NSMakeSize(42, 55);
8
9 size = CGSizeMake(63, 77);
10
11 NSString *str = NSStringFromSize(size);
12 NSLog(@"The size is %@", str);
13 }
4. NSRect / CGRect
1 void rect()
2 {
3 NSRect r;
4 r.origin.x = 10;
5 r.origin.y = 12;
6 r.size.height = 44;
7 r.size.width = 62;
8
9 r = NSMakeRect(13.11, 42.11, 42.55, 11.44);
10
11 r = CGRectMake(13.11, 42.11, 42.55, 11.44);
12
13 }
origin 是一个 NSPoint
