一、oc结构体
1.NSRange
简介:用于描述的一部分串联如在字符串或物体在一个NSArray对象字符的结构。
定义格式:
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
1.1NSRange的基本创建方式
固定顺序的创建
NSString *str = @"i love oc";
NSRange r1 = {2, 4};
不按顺序的创建
NSRange r2 = {.location = 2, .length = 4};
利用函数创建(常用方式)
NSRange r3 = NSMakeRange(2, 4);
1.2 查找某个字符串的范围
NSRange range = [str rangeOfString:@"java"];
2. NSPoint\CGPoint
简介:一个点在二维坐标系中的位置。
定义格式:
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
2.1NSPoint\CGPoint基本创建方式
CGPoint p1 = CGPointMake(10, 10);
NSPoint p2 = NSMakePoint(20, 20);
2.2NSPoint与字符串的相互转换
NSString *s1 = NSStringFromPoint(p1);
NSPoint p3 = NSPointFromString(s1);
2.3判断两个点是否相等
CGPointEqualToPoint(p1,p2);
3. NSSize\CGSize
简介:包含宽度和高度值的结构
定义格式:
struct CGSize {
CGFloat width;
CGFloat height;
};
typedef struct CGSize CGSize;
3.1 NSSize\CGSize的创建方式
NSSize s1 = CGSizeMake(100, 50);NSSize s2 = NSMakeSize(100, 50);
3.2NSSize与字符串的相互转换
NSString *s3 = NSStringFromSize(s2);
NSSize s4 = NSSizeFromString(s3);
3.3判断两个尺寸是否相等
CGSizeEqualToSize(s1,s2);
4.NSRect\CGRect
简介:包含一个矩形的位置和尺寸的结构
定义格式:
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
4.1NSRect\CGRect的创建方式
CGRect r1 = CGRectMake(0, 0, 100, 50);
CGRect r2 = NSMakeRect(1,4,5,3);
4.2NSRect与字符串的相互转换
NSString *s5 = NSStringFromRect(r1);
NSRect r3 = NSRectFromString(s5);
4.3判断两个矩形位置是否相等
CGRectEqualToRect(r1,r2);
4.4判断矩形位置是否包含点
CGRectContainsPoint(r1,p1);
4.5判断两个矩形位置是否包含
CGRectContainsRect(r1,r2);