• iOS学习笔记---oc语言第四天


    字符串 数组

    一、使用苹果帮助文档

    学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能

    Inherits from 继承⾃自

        Conforms to 遵循什么协议

        Framework 属于哪个框架

        Availability 什么时候可⽤用的

        Declared in 声明在什么头文件⾥里

        Related documents 相关文档

        Sample code ⽰示例代码

    快速打开帮助文档

    在代码中,将⿏鼠标停留在 类名或者⽅法名上,option+⿏鼠标左键,点击

        Reference的超链接进⼊入帮助⽂文档。

    也可使用command+⿏鼠标左键,进⼊头⽂文件,查看类的接口部分。

    二、字符串

    Foudation框架是cocoa编程,iOS编程的基础框架,包括:字符 串、集合、⽇期、时间等基础类。

    NSString和NSMutableString,即不可变字符串和可变字符串

    c语言中,字符串是由char字符数组组成

    oc中,字符串类是由unichar(多字节字符)组成,功能很强大。

    NSString

    不可变字符串类。 NSString对象创建以后,内容和⻓度不能更改

    常用方法

    创建⼀个新的字符串,可以使⽤实例方法和便利构造器。

        获取字符串长度。

        判断字符串的是否以指定字符串开始或结束。

        搜索字符串范围。

        字符串截取(获取子字符串)。

        拼接字符串。

        替换字符串。

        字符串⽐比较。

        字符串和数值类型转换。

        ⼤小写转换操作。

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
    /*
        NSString *str1 = @"张三";
        NSString *str2 = [[NSString alloc] initWithFormat:@"hi,%@ ,%d岁",str1,29];
    //    NSUInteger length = [str1 length];
        NSLog(@"%lu",[str2 length]);
        NSString *str3 = [NSString stringWithFormat:@"hai %@, %d",str1,29];
        NSLog(@"%@",str3);
        
        NSLog(@"%d",[str2 hasPrefix:@"hi"]);//判断字符串以xxx字符为前缀
        NSLog(@"%d",[str2 hasSuffix:@"岁"]);//判断字符串以xxx字符为结尾
        NSRange range = [str2 rangeOfString:@"三"];
        NSLog(@"%lu %lu",range.location,range.length);
        NSLog(@"%@",[str2 substringFromIndex:5]);//截取字符串
        NSLog(@"%@",[str2 substringToIndex:5]);
        NSRange r ={3,3};
        NSLog(@"%@",[str2 substringWithRange:r]);//从哪里截取,截取多长字符串
        NSLog(@"%@",[str1 stringByAppendingString:str2]);//字符串拼接
        NSLog(@"%@",[str1 stringByAppendingFormat:@"---%@",str2]);//字符串格式化拼接
        NSLog(@"%@",[str1 stringByReplacingOccurrencesOfString:@"三" withString:@"789456"]);//字符串替换
        NSString *str4 = @"文艺青年";
        NSString *str5 = [str4 stringByReplacingOccurrencesOfString:@"文艺" withString:@"2B"];
        NSLog(@"%@",str5);
     //输出
    // 2014-06-26 17:03:16.424 LessonString[1358:303] 10
    // 2014-06-26 17:03:16.426 LessonString[1358:303] hai 张三, 29
    // 2014-06-26 17:03:16.426 LessonString[1358:303] 1
    // 2014-06-26 17:03:16.426 LessonString[1358:303] 1
    // 2014-06-26 17:03:16.427 LessonString[1358:303] 4 1
    // 2014-06-26 17:03:16.427 LessonString[1358:303]  ,29岁
    // 2014-06-26 17:03:16.427 LessonString[1358:303] hi,张三
    // 2014-06-26 17:03:16.428 LessonString[1358:303] 张三
    // 2014-06-26 17:03:16.428 LessonString[1358:303] 张三hi,张三 ,29岁
    // 2014-06-26 17:03:16.429 LessonString[1358:303] 张三---hi,张三 ,29岁
    // 2014-06-26 17:03:16.429 LessonString[1358:303] 张789456
    // 2014-06-26 17:03:16.429 LessonString[1358:303] 2B青年
    */
       /*
        NSString *str11 = @"lanoukeji";
        NSString *str12 = [NSString stringWithFormat:@"lanoukeji"];
        if ([str11 isEqualToString:str12]) {
            NSLog(@"str11 和str12 一样");
        }else{
            NSLog(@"different");
        }//比较字符串是否相等
        NSString *str13 = @"123";
        int a = [str13 intValue];
        NSLog(@"%d",a);
        
        NSString *str14 = @"ni hao";
        NSLog(@"%@",[str14 capitalizedString]);//首字母大写
        return 0;
        //输出
    //    2014-06-26 17:02:05.826 LessonString[1347:303] str11 和str12 一样
    //    2014-06-26 17:02:05.827 LessonString[1347:303] 123
    //    2014-06-26 17:02:05.828 LessonString[1347:303] Ni Hao
        
        */

    NSMutableString

    可变字符串类。

     NSString 类的子类,该类创建的字符串是一个动态的可变的字符 串,可以支持增删改查等动态的操作。

    NSMutableString是NSString的⼦子类,继承得到所有⽅方法。

        不可变字符串的修改操作,本质就是得到一个新的字符串。

        不可变字符串的修改方法以string开头,有返回值。

        可变字符串的修改方法没有返回值,修改原字符串

    字符串NSString

    创建 initWithFormat  或者 stringWithFormat
    //1.求字符串长度
    //- length
    //2.判断字符串是否相等
    // - isEqualToString
    //3.字符串替换
    //- stringByReplacingOccurrenceOfString:WithString;
    //4.字符串拼接
    //- stringByAppendingFormat;
    //5.字符串比较
    //- compare;
    //6.求子串
    //- substringFromIndex;
    //7.查询字符串
    //- rangeOfString;
    //8.前缀  后缀
    //- hasPrefix;
    //- hasSuffix;
    //9.字符大写
    //- uppercaseString
     
    可变字符串NSMutableString
    创建  使用父类继承的方法或者使用自己的创建方法
    //- initWithCapacity;
    //- appendFormat;
    //- insertString:atIndex;
    //- deleteCharactersInRange;
    //- replaceCharactersInRange:withString;
     
     
     
    不可变数组NSArray   只能存储对象(继承来自NSObject的类)
    不能添加,不能删除,不能修改
    创建数组
    //-initWithObjects;
    //查找 - objectAtIndex:
    //个数 -count
     
    可变数组NSMutableArray
    //最后增加 -addObject:
    //插入   -insertObject:atIndex:
    //移除   -removeObjectAtIndex:      //移除所有的  removeAllObjects
    //替换  -replaceObjectAtIndex:withObject
  • 相关阅读:
    第二高的薪水
    leecode 删除排序数组中的重复项
    leecode 17. 电话号码的字母组合
    dubbo 限流之TpsLimitFilter
    G1总结
    leecode 3. 无重复字符的最长子串
    mysql是如何解决脏读、不可重复读、幻读?
    归并排序
    PostgreSQL管理数据库安全
    Oracle Database 19c 技术架构(三)
  • 原文地址:https://www.cnblogs.com/limicheng/p/3809511.html
Copyright © 2020-2023  润新知