Foundation框架——结构体
正如其名,Foundation框架是其他所有iOS框架的基础。
Foundation框架包含了很多开发中常用的数据类型:结构体、枚举、类。
要想使用Foundation中得数据类型,只要包含它的主文件即可,即#import<Foundation/Foundatoin.h>
一、NSRange
在Foundation/NSRange.h中对NSRange的定义
typedef struct _NSRange{
NSUInteger location;
NSUInteger length;
}
// typedef unsigned long NSUInteger;
这个结构体用来表示事物的一个范围,通常是字符串里的字符或者数组里的元素范围
location表示该范围的起始位置
length表示该范围内所含的元素个数
比如“I love Objective-c” 中得"Obj" 可以用location为7,length为3的范围来表示。
NSRange的三种创建方式:
1.直接给成员赋值
NSRange range;
range.location = 6;
range.length = 4;
2.应用C语言的聚合结构赋值机制
NSRange range = {6 , 4};或者 NSRange range = {.location = 6, .length = 4};
3.Foundation框架提供的一个快捷函数NSMakeRange
NSRange range = NSMakeRange(6,4);
二、NSPoint\CGPoint
在Foundation/NSGeometry.h中对NSPoint的定义 :typedef CGPoint NSPoint;
// #define CGFLOAT_TYPE double
// typedef CGFLOAT_TYPE CGFloat;
NSPoint point = NSMakePoint(10, 20);
或者
CGPoint point = NSMakePoint(10, 20);
NSPoint point = CGPointMake(10, 20);
或者
CGPoint point = CGPointMake(10, 20);
struct CGSize {
CGFloat width;
CGFloat height;
};
typedef struct CGSize CGSize;
typedef CGRect NSRect;
struct CGRect {
CGPoint origin; // 矩形左上角坐标
CGSize size; // 矩形的宽度和高度
};
typedef struct CGRect CGRect;