首页 > 代码库 > iOS复习笔记13:常用结构体

iOS复习笔记13:常用结构体

都需要包含Foundation.h头文件
CG:CoreGraphics框架简称,CG开头的在Foundation框架中有声明,但是没有实现
NS:NextStep


一 NSRange范围
1 定义:
typedef struct _NSRange{
NSUInteger location;
NSUInteger length;
}NSRange;


2 示例:
NSString* str = @"I love OC";


// NSRange* rg = {2, 4};
// NSRange* rg = {.location = 2, .length = 4};
NSRange* rg = NSMakeRange(2, 4);
NSRange* r = [str rangOfString:@"love"];// "love"字符,从2开始,长度为4
NSRange p0 = NSRangeZero;// 判断是否相等,返回bool值


二 NSPoint/CGPoint点


1 定义:
CGFloat即double
typedef _NSPoint{
CGFloat x;
CGFloat y;
}NSPoint;
typedef NSPoint CGPoint;

CGPoint跨平台的


2 示例:
// CGPoint p = CGMakePoint(10, 10);
CGPoint p = CGPointMake(10, 10);
NSLog(@"%@", NSStringFromPoint(p));
CGPoint p0 = CGPointZero;
CGPointEqualToPoint(p, p0);// 判断是否相等,返回bool值




三 NSSize/CGSize
1 定义:
typedef struct _NSSize{
CGFloat x;
CGFloat y;
}NSSize;
typedef NSSize CGSize;

2 示例:
CGSize sz = CGSizeMake(10, 10);
NSLog(@"%@", NSStringFromSize(sz));
CGSize sz0 = CGSizeZero;
CGSizeEqualToSize(sz, sz0);// 判断是否相等,返回bool值



四 NSRect/CGRect矩形
1 定义 
typedef struct _NSRect{
NSPoint origin;
NSSize size;
}NSRect;
typedef NSRect CGRect;


2 示例
CGRect r = CGRectMake(0, 0, 100, 50);
NSLog(@"%@", NSStringFromRect(r));
CGRect r0 = CGRectZero;
CGRectEqualToRect(r, r0);// 判断是否相等,返回bool值
CGRectContainsPoint(r, p);// 判断矩形是否包含点,返回bool值




iOS复习笔记13:常用结构体