1. 程式人生 > >常用結構體之NSRange用法

常用結構體之NSRange用法

定義

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; }