objective-c之有用结构体

来源:互联网 发布:桌面图标制作软件 编辑:程序博客网 时间:2024/04/29 20:12

 范围

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。


原创粉丝点击