NSRange 范围

前言

  • 结构体,这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。
typedef struct _NSRange {
	NSUInteger location;      // 表示该范围的起始位置
	NSUInteger length;        // 表示该范围内所含的元素个数
} NSRange;

typedef unsigned long NSUInteger;

1、NSRange 结构体变量的创建与调用

// NSRange 结构体变量的创建与赋值

// 先定义变量,再赋值
NSRange range1;
range1.location = 6;
range1.length = 1;

// 定义时直接赋值
NSRange range2 = {7, 2};

// 给指定成员赋值
NSRange range3 = {.length = 3, .location = 8};

// 使用函数赋值
NSRange range4 = NSMakeRange(9, 4);

// NSRange 结构体变量值的调用

NSLog(@"range1: %zi, %zi", range1.location, range1.length);
NSLog(@"range2: %zi, %zi", range2.location, range2.length);
NSLog(@"range3: %zi, %zi", range3.location, range3.length);
NSLog(@"range4; %zi, %zi", range4.location, range4.length);

2、NSRange 与 NSString 的相互转换

// NSRange 转 NSString
NSString *stringFronRange = NSStringFromRange(range4);

// NSString 转 NSRange
NSRange range5 = NSRangeFromString(stringFronRange);
原文地址:https://www.cnblogs.com/CH520/p/9448210.html