NSRange顧名思義Range肯定是一個范圍,那到底它是個什么東西呢,我們可以按住command鍵點NSRange,點進去看,會發現,NSRange是一個結構體,其中包括了location(位置)和length(長度)兩項,那么具體怎么用呢,舉個小例子給大家演示一下:
1 //定義一個字符串 2 NSString *str = @"Hellow world!"; 3 4 //查找llo在str這個字符串中的范圍及長度 5 6 NSRange R1 = [str rangeOfString:@"llo"]; 7 8 NSLog(@"location=%zd,lengcht = %zd",R1.location,R1.length);
輸出結果:
***************************************************************************************
上面是從字符串中可以找到的輸出結果,下面我們來看這個例子:
//定義一個字符串 NSString *str = @"Hellow world!"; //查找llo在str這個字符串中的范圍及長度 NSRange R1 = [str rangeOfString:@"abcd"]; NSLog(@"location=%zd,lengcht = %zd",R1.location,R1.length);
當我們要查找的字符串不在這個str中那輸出結果又是什么呢?
長度不用說了,沒找到肯定是0,那么location的值是什么呢?location的返回值就是NSNotFound下面請仔細看我這段代碼:
//定義一個字符串 NSString *str = @"Hellow world!"; //查找llo在str這個字符串中的范圍及長度 NSRange R1 = [str rangeOfString:@"abcd"]; NSLog(@"location=%d,lengcht = %zd",R1.location,R1.length);
NSLog(@"%d",NSNotFound);
那么這樣輸出location的值就是-1,NSNotFound的值也是-1,也就是說剛才上面9223372036....這些值就是-1,其根本原因就是因為一個符號位的問題,具體原因不再贅述