OC NSRange用法
NSRange的定义
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
从源码中我们可以看到,NSRange是一个结构题,其中location是一个以0为开始的index,length是表示对象的长度;
NSRange用来表示事务的一个范围,通常是字符串里的自负范围或数组里面的元素范围,NSRange有两个成员;
location 表示范围的起始位置;
length 表示该范围的长度;
NSRange的创建
//通过结构体变量来访问成员
NSRange a;
a.location=1;
a.length=2;
//结构体变量整体赋值
NSRange b={2,3};
NSRange c={.location=3,.length=4};
/**
通过NSMakeRange结构体变量整体赋值
NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
NSRange r;
r.location = loc;
r.length = len;
return r;
}
*/
NSRange d=NSMakeRange(0,2);
实例:查询字符串"that girl"中的"girl"的起点和长度;
NSString *str=@"that girl";
NSRange loveRange=[str rangeOfString:@"girl"];
NSLog(@"%d_%d",loveRange.location,loveRange.length);