zoukankan      html  css  js  c++  java
  • 关于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,其根本原因就是因为一个符号位的问题,具体原因不再赘述

    全身心修练iOS
  • 相关阅读:
    B-Tree和B+Tree的区别
    b树和hash树的应用场景
    比较顺序表和链表的优缺点,说说它们分别在什么场景下使用?
    5V与3.3V电平互转
    100M双绞线接头的标准接法
    解决openwrt中文界面异常
    刚刚开通了博客
    openwrt挂载摄像头及视频保存
    mwan3多wan叠加成功
    贝尔金(Belkin)7231-4P tftp救砖
  • 原文地址:https://www.cnblogs.com/ZMiOS/p/4793358.html
Copyright © 2011-2022 走看看