一,NSRange

typedef struct _NSRange

{

NSUInteger location;

NSUInteger length;

}NSRange;

这个结构体用来表示事物的一个范围,通常字符串里的字符范围或者几何里的范围.

location表示该范围的起始位置

length表示该范围内所有的元素个数

比如"I love objective-c"中的"obj"可以用location为7,length为3的范围表示.

 

创建NSRange有三种方式

第一种,直接给成员赋值

NSRange range;

range.location=7;

range.length=3;

第二种是应用c语言的聚合结构赋值机制

NSRange range={7,3};或者NSRange range={.location=7,.length=3};

第三种,Foundation框架提供的

NSRange range=NSMakeRange(7,3);

使用方式如:

     NSRange range=NSMakeRange(3, 7);//第一种方式
         NSString *rangStr=NSStringFromRange(range);//第二种方式
         NSLog(@"%@",rangStr);
         NSLog(@"%li,%li",range.location,range.length);

二,NSPoint结构体--CGPoint结构体

 NSPoint point=NSMakePoint(1,2);//Foundation提供的方法
        NSLog(@"%@",NSStringFromPoint(point));//转化为string对象类型
        NSPoint p2;//第二种方式
        p2.x=3;
        p2.y=4;
        NSLog(@"%@",NSStringFromPoint(p2));
三,NSSize结构体--CGSize结构体

 NSSize size=NSMakeSize(34, 344);//Foundation提供的方法
        NSLog(@"%@",NSStringFromSize(size));//转化为string对象类型
        CGSize p2;//第二种方式
        p2.height=3;
        p2.width=4;
        NSLog(@"%@",NSStringFromSize(p2));

四,NSRect结构体

NSRect rect=NSMakeRect(1, 2, 3, 4);
        NSLog (@"%@",NSStringFromRect(rect));
        NSRect p2;
        p2.origin.x=3;
        p2.origin.y=4;
        p2.size.width=5;
        p2.size.height=6;
        NSLog(@"%@",NSStringFromRect(p2));