常用结构体之NSRange用法

来源:互联网 发布:mac和vb虚拟机如何共享 编辑:程序博客网 时间:2024/06/05 20:07

定义

NSRange在官方文档中如是定义:A structure used to describe a portion of a series—such as characters in a string or objects in an NSArray object.
即用来描述字符串中一部分字符或者NSArray中的一部分对象

NSRange的定义typedef struct _NSRange{ NSUInteger location; NSUInteger length;} NSRange;NSRange是一个结构体,其中location是一个以0为开始的index,length是表示对象的长度。他们都是NSUInteger类型。

用法:

int main(int argc, const char * argv[]) {    NSString *string = @"i love using Xcode!";    //NSRange r = NSMakeRange(2, 3);    //查找某个字符串在string中的范围    NSRange r1 = [string rangeOfString:@"Xcode"];    //打印给定范围的子串    NSLog(@"%@",[string substringWithRange:r1]);    //打印搜索到的子串的范围    NSLog(@"loc:%ld, length:%ld",r1.location,r1.length);    //NSRange转换成NSString    NSLog(@"Range is: %@", NSStringFromRange(r1));    //如果找不到,length = 0,location == -1 == NSNotFound,(9223372036854775807)    NSRange r2 = [string rangeOfString:@"objective"];    NSLog(@"%d",NSNotFound);    NSLog(@"%d",(int)r2.location);    //NSString 转换成NSRange    NSRange r3=NSRangeFromString(@"{3, 3}");    NSLog(@"r3 is:%@",NSStringFromRange(r3));    return 0;}
0 0
原创粉丝点击