OC学习之道:OC对象,字符串和数组的使用方法NSString,NSMutableString ,NSArray,NSMutableArray

本文详细介绍了Objective-C编程中字符串和数组的基本使用方法,包括创建、操作、拼接、替换、比较以及数组的创建、遍历、判断等核心功能。通过实例解析,帮助开发者熟练掌握Objective-C中数据处理的基础技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OC学习之道:OC对象,字符串和数组的使用方法NSString,NSMutableString ,NSArray,NSMutableArray

int main(int argc, const char * argv[])
{

    @autoreleasepool {

#pragma mark---NSString字符串的使用
   //1.创建字符串
        //1.1通过常量字符串的方式创建对象

        NSString *string1 = @"liuyifei";
        NSLog(@"%@",string1);
        //1.2根据给定的格式创建字符串
        NSString *string2 = [[NSString alloc]initWithFormat:@"%@",@"liuyifei" ];
        NSLog(@"%@",string2);

        NSString *string3 = [[NSString alloc]initWithFormat:@"%@ %d",@"tongxing",18];
        NSLog(@"%@",string3);


        //1.3便利构造器创建NSString
        NSString *string5 = [NSString stringWithFormat:@"%@,%d",@"tongxing",20];
        NSLog(@"%@",string5);


    //2.获取字符串的长度

            NSUInteger length1 =  [string2 length];
            NSLog(@"%lu",length1);

    //3.判断字符串是否以指定字符串结束
            BOOL flag1 = [string2 hasSuffix:@"ei"];
            NSLog(@"%d",flag1);
    //4.判断字符串是否以指定的字符串开始
            BOOL flag2 = [string2 hasPrefix:@"liu"];
            NSLog(@"%d",flag2);

    //5.查找某一个字符串在另一个字符串中得范围
        NSString *str1= @"我很爱刘亦菲";
        NSString *str2= @"很爱";
        NSRange  range = [str1 rangeOfString:str2];
        NSLog(@"%lu,%lu",range.location,range.length);

    //6.字符串截取
        NSRange range1 =  NSMakeRange(1, 3);
        NSString *str3=[str1 substringWithRange:range1 ];
        NSLog(@"%@",str3);

    //7.从第一个字符开始,获取到指定的位置,,从第几个字符开始一直获取到最后一个字符.
        NSString *str4 = [str1 substringToIndex:3];//下标为3的那个位置上的字符不包括
        NSLog(@"%@",str4);
        NSString *str5= [str1 substringFromIndex:3];//包括下标为3 的那个位置上得字符
        NSLog(@"%@",str5);

    //8.字符串拼接
        NSString *str6 = [str1 stringByAppendingString:@"和周冬雨"];
        NSLog(@"%@",str6);

    //9.字符串替换
        NSString *str7 = [str1 stringByReplacingOccurrencesOfString:@"刘亦菲" withString:@"周冬雨"];//用后面的来替换前面的
        NSLog(@"%@",str7);

    //10.字符串比较,比较的是字母按字典排序进行,前者大于后者返回1,相等返回0,否者返回-1
        NSString *str8 =@"dingding";
        NSString *str9 = @"dingxing";
        NSComparisonResult result = [str8 compare:str9];
        NSLog(@"%ld",result);

    //11.把字符串转换为int,float,double等等
        NSString * intStr = @"123";
        int value = [intStr intValue];
        NSLog(@"%d",value);
        //把数字转化为字符串
        NSString *string4 = [[NSString alloc]initWithFormat:@"%d",20];
        NSLog(@"%@",string4);
        NSLog(@"%@",[string4 class]);//查看string4是属于哪一种类型的

    //12.大小写转换
        NSString *str10 = @"iLoveLiuyifei";
        NSString *result2 = [str10 uppercaseString];
        NSLog(@"%@",result2);
        NSString *str11 = [result2 lowercaseString];
        NSLog(@"%@",str11);
        NSString *str12 = [str11 capitalizedString];//首字母大写
        NSLog(@"%@",str12);

    //13.取出字符串中制定的char
        NSString *string6 = @"liuyifei";
        unichar c= [string6 characterAtIndex:3  ];
        NSLog(@"%c",c);

#pragma mark---NSMutableString字符串的使用


    //1.使用便利构造器创建可变字符串对象
        NSMutableString *str13=[ NSMutableString stringWithFormat:@"%@",@"刘亦菲"];
        NSLog(@"%@",str13);

    //2.字符串拼接
        [str13 appendString:@"爱童星" ];//可变字符串的拼接不需要再用另一个字符串来进行拼接,它是对原字符串本身进行操作
        NSLog(@"%@",str13);

    //3.字符串替换
        NSRange range2 = NSMakeRange(0, 3);
        [str13 replaceCharactersInRange:range2 withString:@"周冬雨"];
        NSLog(@"%@",str13);

    //4.字符串插入
        [str13 insertString:@"和刘亦菲都" atIndex:3];
        NSLog(@"%@",str13);



 #pragma mark---NSArray不可变数组的使用

    //1.使用实例化方法来创建并是初始化对象
        NSArray *array1 =[[NSArray alloc]initWithObjects:@"liuyifei",@"zhoudongyu",@"tongxing", nil];
        NSLog(@"%@",array1);

    //2.使用便利构造器创建对象
        NSArray *array2 = [NSArray arrayWithObjects:@"liuyifei",@"zhoudongyu",@"cangjinkong", nil];
        NSLog(@"%@",array2);

        //通过字面量方式创建数组,
        //所谓字面量:字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。
        NSArray *array21 = @[@"liuyifei",@"zhoudongyu",@"cangjinkong"];//这种方式实际上就是默认的类方法创建的(便利构造器)
        NSLog(@"%@",array21);
        //创建一个空对象,并将空对象放入数组,需要使用NSNull这个类方法
        NSNull *nul = [NSNull null];
        NSArray *array3 = [NSArray arrayWithObjects:@"zhoudongyu",nul,@"liuyifei",@"cangjinkong", nil];

    //3.通过给定对象,返回字符串对象在数组中的下标
        NSUInteger index = [array3 indexOfObject:@"liuyifei"];
        NSLog(@"%ld",index);

    //4.通过给定的数组的下标,获得该下标的元素
        NSString *str14 = [array2 objectAtIndex:2];
        NSLog(@"%@",str14);
        NSLog(@"%@",array2[2]);//字面量的方式

    //5.获得数组的个数
        NSLog(@"%lu",[array2 count]);

    //6.遍历数组
        for (int i=0; i<[array2 count]; i++) {
            NSLog(@"%@",[array2 objectAtIndex:i]);
            //相当于
            //NSLog(@"%@",array2[i]);
        }

    //7.快速遍历
        for (NSString *s in array2) {//见后面解释
            NSLog(@"%@",s);
        }

    //8.判断数组中是否包含某一个对象
        BOOL isContain = [array2 containsObject:@"cangjinkong"  ];
        NSLog(@"%d",isContain);

    //9.使用指定的连接符连接数组中所有的元素
        NSString *content = [array2 componentsJoinedByString:@" "];
        NSLog(@"%@",content);

    //10.在数组的尾部添加一个元素
        NSArray *array6 = [array2 arrayByAddingObject:@"xiaozhe"];
        NSLog(@"%@",array6);

#pragma mark---NSMutableArray可变数组的使用

        //1.使用父类创建可变数组
        NSMutableArray *array5 = [NSMutableArray arrayWithObjects:@"liuyifei",@"zhoudongyu",@"cangjinkong",nil];

        //2.使用本类创建可变数组
        NSMutableArray *array7 = [NSMutableArray arrayWithCapacity:10];
        NSLog(@"%@",array7);//此时数组为空
        for (int i=0; i<10; i++) {
        //2.1.把数字转换成字符串对象放入数组中
            NSString *intStr2 = [NSString stringWithFormat:@"%d",i];
        //2.2.将每次创建的字符串对象放入数组中
            [array7 addObject:intStr2];

        }

    //3.移除数组中的某一个对象
        [array5 removeObject:@"cangjinkong"];
        NSLog(@"%@",array5);
        //
        [array5 removeObjectAtIndex:1];
        NSLog(@"%@",array5);

    //4.向数组中插入元素
        [array5 insertObject:@"xiaozhe" atIndex:1];
        NSLog(@"%@",array5);

    //5.交换数组中的两个元素
        [array5 exchangeObjectAtIndex:0 withObjectAtIndex:1];
        NSLog(@"%@",array5);

    //6.移除数组中所有元素
        [array5 removeAllObjects];
        NSLog(@"%@",array5);

    //7.添加数组,把array7的所有元素都添加到array5里
        [array5 addObjectsFromArray:array7];
        NSLog(@"%@",array5);

    //8.二维数组
        //将array5添加到数组array7,这样array7就变成了二维数组
        [array7 addObject:array5];
        NSLog(@"%@",array5);


    #pragma mark---NSNumber数值的使用

        NSMutableArray *arr = [NSMutableArray array];
        //1.把整型值转化为NSNumber类型的对象
        NSNumber *number = [NSNumber  numberWithInt:18];
        NSLog(@"%@",[number class]);
        [arr addObject:number];

        //2.把BOOL类型的值转化为NSNumber 类型的对象
        BOOL flag11 = YES;
        NSNumber *number1 = [NSNumber numberWithBool:flag11];
        [arr addObject:number1];

        //3.使用字面量的方式将整型值转化为数值类型对象
        NSNumber *number2 = @(70);
        [arr addObject:number2];
        NSLog(@"%@",arr);

        //从数组中拿出来的元素对象,将其转换为相应的基本数据类型

        NSNumber *number3 =arr[0];//相当于[arr objectAtIndex:0];
       int value3 = [number3 intValue];
        NSLog(@"%d",value3);
        NSNumber *number4 = arr[1];
        int value4= [number4 boolValue];
        NSLog(@"%d",value4);
        }
        returen 0;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值