范围
typedef struct _NSRange{
unsigned intlocation;
Unsigned intlength;
} NSRange;
这个结构体用来表示相关事物的范围,通常是字符串里的字符范围或者数组的元素范围,location用来表示起始位置,length表示该范围所含元素的个数。
例如有一个字符串“Myname is Leo”,单词“is”可以用location为8,length为2来表示。
几何数据类型
NSPoint代表的是笛卡儿平面中的一个点(x,y),而NSSize用来存储长度和宽度,而NSRect则是一个矩形数据类型,由点和大小复合而成:
typedef struct_NSPoint{
float x;
float y;
} NSPoint;
NSSize用来存储长度和宽度:
typedef struct_NSSize{
float width;
float height;
} NSSize;
NSRect提供一个矩形数据类型,它是由点和大小复合而成的:
typedef struct _NSRect{
NSPoint origin;
NSSize size;
} NSRect;
这些结构体的创建有三种方式,以NSRange为例:
第一种直接给字段赋值
NSRange range;
range.location = 8;
range.length = 2;
第二种方式,聚合结构赋值机制
NSRange range = {8,2};
第三种利用Cocoa的快捷函数NSMakeRange()
NSRange range =NSMakeRange(8, 2);
使用这个快捷函数的好算是可以在任何能够使用函数的地方使用它。
其他的结构体也有相应的快捷函数:NSMakePoint(),NSMakeSize,NSMakeRect。