• OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏


    OC中的基本数据类型

    NSString  在64位系统下,相当于long,在非64位系统下,想当于int.

    CGFloat   在64位系统下,相当于double,在非64位系统之下,想当与float

    ------------------------------------------------------------------------------------------------------------------------

    学习方法

    .查看API

         1.help -> DOcumentation and API reference

         2.快捷键   cmd+shift +0

        //   Inherits from :继承于那个类

     

        //   conform to:遵循于什么协议

        //   framework   :定义在什么框架下

        //   Availabilty  :使用范围

        //   declared in   :申明在什么文件中

        //   related documents:相关文档

        //    sample code :样式代码

     .查看头文件

         对于一个类,使用cmd+左键,进入头文件,有关于这个类的实例变量的声明和方法声明

    ------------------------------------------------------------------------------------------------------------------------

    NSString 字符串类

    打印对象使用%@,NSString 是一个类,str也就是一个对象

    NSString继承于NSObject,是不可变字符串,一旦创建就不可以更改内容

    NSString * str=@"凤姐";

     

    //创建空字符串

    NSString * str1=[[NSString  alloc]init];

    NSString * str2=[NSString  string];同上

    str1=@"sss";   //指针发生重指向,原内容未改变

    *str1=@"sss" //error  字符串内容一旦创建就无法改变


    -----------------------------------

    字符串拼接

     

     NSString * str3=[[NSString alloc]initWithFormat:@"我爱你"%@",str];

    NSLog(@"%@",str3);    //我爱你凤姐

     

     NSString * str4=[NSString stringWithFormat:@"我爱你%@",str3];

        NSLog(@"%@",str4);    //我爱你我爱你凤姐


    -----------------------------------

    C语言的字符转为OC的字符串对象   如:"fuck"   ->  @"fuck"

    一个汉字在内存中占有3个字节

     

    NSString * str7=[[NSString alloc]initWithUTF8String:"fuck"];

    NSLog(@"%@",str7);

    NSString * str8=[NSString stringWithUTF8String:"fuck"];

    NSLog(@"%@",str8);

    ------------------------------------

    将文件中的内容读到字符串对象中

    第一个参数是文件路径,第二个参数是编码格式,第三个文件是如果出错返回一个值

     

        NSString * str9=[[NSString alloc]initWithContentsOfFile:@"/Users/lanouhn/Desktop/my.txt" encoding:NSUTF8String Encodingerror:nil];

        NSLog(@"%@",str9);

        NSString * str10=[NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/my.txt" encoding:NSUTF8String Encodingerror:nil];

        NSLog(@"%@",str10);

    ------------------------------------

    获取字符串的长度(空格也计算)

     

        NSUInteger len=[str9  length];

        NSLog(@"%lu",len);

    ---------------------------------------

    获取某段范围的字符串的长度

    如果a是b的字串,a的内容必须在b中且连续不断.如  a   1234     b    0123456

     

        NSString *str11=@"abcdefg";

        NSRange  rang={0,4};//{开始位置,长度}

        NSString * str12=[str11   substringWithRange:rang];

        NSLog(@"%@",str12);//abcd

    ---------------------------------------

    获取字串在父串中的范围

     

        NSRange rang2=[str11  rangeOfString:@"ab"];

        NSLog(@"%lu,%lu",rang2.location,rang2.length);//0,2

    ---------------------------------------

    获取到 到某个位置的字串(从0开始到指定位置之前的内容)

     

        NSString *str13=[str11 substringToIndex:3];

        NSLog(@"%@",str13);//abc

    ---------------------------------------

    从某个位置开始获取字符串(包含当前位置的字符)

     

        NSString * str14=[str11 substringFromIndex:3];

        NSLog(@"%@",str14);//defg

    ---------------------------------------

    字符串拼接

     

        NSString * str15=[str  stringByAppendingString:@"是你们的"];

        NSLog(@"%@",str15);

        NSString *str16=[str  stringByAppendingFormat:@"是你们的%@",@"好友"];

        NSLog(@"%@",str16);

        NSString * str17=[str16  stringByReplacingOccurrencesOfString:@"凤姐"withString:@"刘亦菲"];

        NSLog(@"%@",str17);

    ----------------------------------------

     

        //    字符串是否包含某个前缀或者后缀

        NSString * sStr=@"中国北京海淀清河";

        //    判断是否包含前缀

        BOOL b1=[sStr  hasPrefix:@"中国"];

        NSLog(@"%d",b1);  // 1

        //   判断是否包含后缀

        BOOL b2=[sStr  hasSuffix:@"清河"];

        NSLog(@"%d",b2);

    ---------------------------------------

    //    判断两个字符串是否相等

        NSString *sStr2=@"吉泽明步";

        NSString *sStr3=@"波多野鸡";

        BOOL b3=[sStr2  isEqualToString:sStr3];

        NSLog(@"%d",b3);


    ---------------------------------------比较字符串

     

    //    NSOrderedAscending  -1, NSOrderedSame 0, NSOrderedDescending 1

        NSString *sStr4=@"NbA";

        NSString *sStr5=@"NBA";

        //   1 compare  区分大小写

        NSInteger n=[sStr4 compare:sStr5];

        NSLog(@"%ld",n);

        //    2   caseInsensitiveCompare 不区分大小写

        n = [sStr4 caseInsensitiveCompare:sStr5];

        NSLog(@"%ld",n);

    -------------------------------------------------------------------------------------------------

    // NSMutableString 可变字符串,继承自NSString

        NSMutableString *mstr=[[NSMutableString alloc]initWithString:@"我和丧尸有个约会"];

        NSLog(@"%@",mstr);

        NSMutableString *mstr1=@"我和有个约会".mutableCopy;

        // 指定位置插入字符串

        [mstr1 insertString:@"皮卡丘"atIndex:2];

        NSLog(@"%@",mstr1);

        //    在尾部拼接字符串

        [mstr1 appendString:@"在日本广岛"];

        NSLog(@"%@",mstr1);

    //    指定范围内删除字符串

         [mstr1 deleteCharactersInRange:NSMakeRange(0,5)];

         NSLog(@"%@",mstr1);

    //    指定范围内改写字符串

        [mstr1 replaceCharactersInRange:NSMakeRange(0,3)withString:@"我和皮卡丘带上tom猫有个"];

        NSLog(@"%@",mstr1);

    -------------------------------------

     

    NSString *sStr6=@"i am a student come from china.where are you from";

        NSMutableString *mStr2=@"i am a student come from china.where are you from".mutableCopy;

    //    变为大写

        NSString *sStr7=[sStr6 uppercaseString];

        NSLog(@"%@",sStr7);

        NSLog(@"%@",sStr6);//原串未变动

    //  变为小写

        NSString *sStr9=[sStr7 lowercaseString];

        NSLog(@"%@",sStr9);

    //    每个单词首字母大写

        NSString *sStr10=[sStr9 capitalizedString];

        NSLog(@"%@",sStr10);

    ------------------------------------------------------------------------------------------------------------------------------------------------

     

    NSNumber 数字类 继承自NSValue

    //    主要把基本数据类型转化为对象,也可以把对象转化为基本数据类型

    //    基本数据类型->数值对象

        NSNumber  *intNumber = [NSNumbernumberWithInt:100];

        NSLog(@"%@",intNumber);

        NSNumber  *floatNumber =[NSNumbernumberWithFloat:3.14];

        NSLog(@"%@",floatNumber);

        NSNumber  *shortNumbe=[NSNumbernumberWithShort:4.15];

        NSLog(@"%@",shortNumbe);

        NSNumber  *integerNumber=[NSNumbernumberWithUnsignedInteger:888];

        NSLog(@"%@",integerNumber);

        NSNumber  *boolNumber=[NSNumbernumberWithBool:YES];

        NSLog(@"%@",boolNumber);

    //  数值对象->基本数据类型

        int num1=[intNumber intValue];

        NSLog(@"%d",num1);

        float num2=[floatNumber floatValue];

        NSLog(@"%f",num2);

        short  num3=[shortNumbe shortValue];

        NSLog(@"%hd",num3);

        NSInteger num4=[integerNumber integerValue];

        NSLog(@"%ld",num4);

        BOOL num5=[boolNumber boolValue];

        NSLog(@"%d",num5);

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    利用ItextPdf、core-renderer-R8 来生成PDF
    把war包放到Tomcat安装文件夹下,不能直接訪问的解决方式
    我的RTOS 之六 -- Touch移植(s5pv210+threadx+ucgui+touch)
    数据库可用率监控工具
    9款极具创意的HTML5/CSS3进度条动画(免积分下载)
    ODBC与JDBC比較
    ORA-02287: 此处不同意序号
    mongodb创建、更新、删除
    jcenter那些事儿
    C#里的应用程序域AppDomain
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619820.html
Copyright © 2020-2023  润新知