------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
NSRange使用(范围)
1、NSRange的使用
NSRange是Foundation框架中比较常用的结构体,它的定义如下:
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
}NSRange;
// NSUInteger的定义
typedef unsigned int NSInteger;
typedef unsigned long NSUInteger;
NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者数组里的元素范围
NSRange有2个成员
NSUInteger location : 表示该范围的起始位置
NSUInteger length : 表示该范围内的长度
比如@“Ilove iOS”中的@“iOS”可以用location为7,length为3的范围来表示
2、NSRange创建的几种方式
有4种方式创建一个NSRange变量
方式1 :通过结构体变量访问成员
NSRange range;
range.location = 7;
range.length = 3;
方式2 :结构体变量整体赋值
NSRange range = {7,3}; 或者
NSRange range = {.location = 7,.length = 3};
//只给结构体变量中的成员赋值
方式3 : 使用NSMakeRange函数 (OC新增的)
NSRange range = NSMakeRange(7, 3);
方式4 : 最直接的方式
NSRange range = {5,8};
NSStringFromRange :将NSRange转成字符串;
NSStringFromRange(range)
NSLog(@"%@",NSStringFromRange(range));
<span style="font-size:14px;">#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSRange range; //range 结构体变量
NSRange *r ; // r 结构体指针
//range变量的初始化方式
//1) 通过结构体变量访问成员
range.location = 3;
range.length = 2;
//2) 结构体变量整体赋值
range = (NSRange){5,3};
NSRange r2 = {4,5}; //最简单的
//3)
NSRange r3 = {.location = 3}; //只是给结构体变量中的.location 成员赋值
//4) OC中新增的
//NSMakeRange函数的作用给 NSRange结构体变量赋值
NSRange r4 = NSMakeRange(3, 3);
//查看结构体变量的值
NSLog(@"%ld,%ld",r4.location,r4.length);
//可以把结构体变量转换为 NSString类型
NSLog(@"%@",NSStringFromRange(r4));
}
return 0;
}</span>