[OC Foundation框架

底层封装是使用了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
 
原文地址:https://www.cnblogs.com/hellovoidworld/p/4119390.html