關於NSRange的小知識


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,其根本原因就是因為一個符號位的問題,具體原因不再贅述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM