码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C NSString的方法

时间:2015-04-10 19:40:25      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

 今天主要练习NSString NSMutableString NSArray NSMutableArray 

NSString(字符串)

        方法1: [[NSString alloc] initWithFormat:@""] 创建一个字符串的对象,并将其格式化,然后给字符串对象进行赋值

        方法2: stringWithFormat:@"" 结构等于[[NSString alloc]initWithFormat:@""]; 便利构造器创建字符串

        方法3:stringWithUTF8String 将C语言字符串转化为OC的字符串对象,这个很重要 注:我是C语言字符串,所以没有加@符号

        以上的方法是为了了解NSString 下面我们介绍一下NSString的12个方法

        创建一个字符串的对象,并且给字符串对象赋值一个网站

        NSString *str = [[NSString alloc] initWithFormat:@"http://item.taobao.com/item.htm?spm=a230r.1.14.83.wdbg0h&id=44327943363&ns=1&abbucket=2#detail"];

        //1.获取字符串的长度 关键字length

        NSInteger length = [str length];

        //2.将字符串对象变成大写的 关键字 uppercaseString

        NSString *upperStr = [str uppercaseString];

        //3.将字符串对象变成小写的 关键字 lowercaseString

        NSString *lowerStr = [str lowercaseString];

        //4.判定字符串开头 关键字:hasPrefix

        BOOL isBegin = [str hasPrefix:@"http:"];

        //1代表YES 或者 TRUE

        //5.判定字符串结尾 关键字hasSuffix

        BOOL isEnd = [str hasSuffix:@"http:"];        

        //6.对字符串进行拼接 关键字:stringByAppendingString 注:会经常使用

        NSString *appendStr = [str stringByAppendingString:@"/pinjie"];

        //7.对字符串进行替换 关键字:stringByReplacingOccurrencesOffString

        //注:替换的是字符串,而不是字符

        NSString *replaceStr = [str stringByReplacingOccurrencesOfString:@"http" withString:@"mmmm"];

        //8.对字符串进行比较 关键字:compare 注:会经常使用

        //注:打印结果如果为-1 表示前面的小 如果是0 表示两个相等 如果是1 表示前面的大

        NSInteger result = [@"cc" compare:@"bb"];        

        //9.判断字符串是否相等 关键字:isEqualToSting

        BOOL isEqual = [@"ab" isEqualToString:@"ac"];

        //10.1 截取字符串 关键字:substringFromIndex

        NSString *subStr1 = [str substringFromIndex:10];

        //substringFromIndex: 表示从给定的下标开始截取到字符串结束(包含当前下标);        

        //10.2 截取字符串 关键字:substringToIndex

        NSString *subStr2 = [str substringToIndex:25];

        //截取第一个字符到第25        

        //10.3 截取字符串 关键字:substringWithRange

        //OC中提供了很多可以快速创建结构体的方法,主要以NSMake开头 + 对应的结构体名字,例如:(NSMakeRange(位置)(长度))

        NSString *rangeStr = [str substringWithRange:NSMakeRange(7, 25)];   

        //11.获取字符串的范围 rangeOfString

        NSRange range = [str rangeOfString:@"taobao"];

        NSLog(@"%ld,%ld",range.location,range.length);

        //12.将基本类型转化为字符串 关键字:initWithFormat

        //NSString *intStr = [[NSString alloc] initWithFormat:@"%d",10];

        NSString *intStr = @"10";//笑笑语法

        //对于NSString对象来说,是不可以改变的,不管以上的那种方法对NSString做了什么操作,都并没有该表NSString的本身,而是改变了NSString的副本.

        //如果想要对NSString本身进行改变,那么就需要使用它的子类NSMutableString 在以上方法的基础上,多了增

        NSMutableString *strmut = [[NSMutableString alloc] initWithFormat:@"我是可变的字符串"];

        //插入方法 关键词:insert

        [strmut insertString:@"哈哈" atIndex:8];

        NSLog(@"%@",strmut);

        //打印结果为:我是可变的字符串哈哈

        //拼接方法 关键词:append

        [strmut appendString:@"/你笑啥"];

        //打印结果为:我是可变的字符串哈哈/你笑啥

        //删除方法 关键词:delete

        [strmut deleteCharactersInRange:NSMakeRange(6,7 )];

        //重置方法 关键字:set

         [strmut setString:@"我一直都在变化"];

 

        

 

NSArray (数组)

        //创建三个字符串对象

        NSString *str1 = [NSString stringWithFormat:@"iPhone4"];

        NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone5"];

        NSString *str3 = @"iPhone6";

        NSLog(@"%@ %@ %@",str1,str2,str3);

        NSArray

        方法1: initWithObjects 因为是数组,所以需要传入多个对象,这些对象之间用","隔开,最后以nil结尾.

        创建一个数组对象来接收所传入的对象们.

        NSArray *arr1 = [[NSArray alloc] initWithObjects:str1,str2,str3, nil];

        NSLog(@"%@",arr1);

        方法2:objectAtIndex: 通过下标找到对象 只会找到第一个符合的对象,即使在第一个对象之后在有符合的也不会显示,找到第一个之后,就回返回.

        NSString *str = [arr1 objectAtIndex:1];

        NSLog(@"%@",str);//NSString类型 iPhone5

        NSInteger index = [arr1 indexOfObject:str2];

        NSLog(@"%ld",index);//arr1下标为1

        //方法3:查看数组元素个数

        NSInteger count = [arr1 count];

        NSLog(@"%ld",count);//结果:arr1里有3个元素

        方法4:通过便利打印出各个元素

        for(int i = 0; i < arr1.count; i++){

            NSLog(@"%@",[arr1 objectAtIndex:i]);

        }

        方法5:排序 sortedArrayUsingSelector:@selector(compare:)这个方法是系统提供的,内部已经做好了排序的,所以知道方法就好,不需要过分的追究.

        NSArray *sortArray = [arr1 sortedArrayUsingSelector:@selector(compare:)];

        NSLog(@"%@",sortArray);

NSMutableArray(可变数组)

        //NSMutableArray 继承与NSArray 所以NSArray的方法NSMutableArray也都可以使用

        //创建可变的数组对象

        NSMutableArray *mutArray = [[NSMutableArray alloc] initWithObjects:str1,str3, nil];

        方法1:添加  addObject

        [mutArray addObject:str1];

        [mutArray addObject:str2];

        [mutArray addObject:str3];

        NSLog(@"%@  %@   %@",str1,str2,str3);

        方法2:删除  removeObjectAtIndex

        [mutArray removeObjectAtIndex:1];

        [mutArray removeObjectAtIndex:0];

        [mutArray removeObjectAtIndex:2];

        NSLog(@"%@",mutArray);

        方法3:交换  exchangeObjectAtIndex:

        [mutArray exchangeObjectAtIndex:1 withObjectAtIndex:0];

        NSLog(@"%@",mutArray);

        方法4:排序 sortUsingSelector:@selector(compare:)

        NSString *str1 = @"Jack";

        NSString *str2 = @"Henry";

        NSString *str3 = @"ELyse";

        NSString *str4 = @"John";

        NSString *str5 = @"Justin";

        NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithObjects:str1,str2,str3,str4,str5, nil];

        [mutableArray sortUsingSelector:@selector(compare:)];

        NSLog(@"%@",mutableArray);

        //方法5:获取数组第一个元素 firstObject

        [mutableArray firstObject];

        NSLog(@"%@",mutableArray.firstObject);

        //方法5:获取数组最后一个元素

        [mutableArray lastObject];

        NSLog(@"%@",mutableArray.lastObject);

    }

    return 0;

Objective-C NSString的方法

标签:

原文地址:http://www.cnblogs.com/why2wm/p/4414960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!