标签:
不可变字符串操作:
1.initWithFormat:。初始化操作,其中直接赋值的效果与该方法一样,例如:
1 NSString *string1 = [[NSString alloc] initWithFormat:@"iOS"]; 2 NSString *string2 = @"iOS";
但需要注意的是,第二种方法声明的是常量字符串,位于内存里的常量区。
2.length。获取字符串长度,length的定义是
1 @property (readonly) NSUInteger length;
通过调用属性的方式即可:[string length]或string.length
3.isEqualToString:。判断两个字符串的内容是否相等
4.compare:。比较两个字符串的大小,可以看一下该方法的定义:
1 - (NSComparisonResult)compare:(NSString *)string;
可以发现该方法有一个返回值,查看该返回值的定义:
1 typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};
返回值为枚举类型,其中-1表示升序,即前面的字符串比后面的字符串小,以此类推。
5.获取子串:
A.substringFromIndex:。后面跟下标,即从指定的下标开始截取字符串。
B.substringToIndex:。后面跟下标,即从头开始截取到指定的下标。
以上两个方法,一个从中间到结尾,一个从开头到中间。
C.substringWithRange:。后面写这样类型的一个参数:(NSRange)range,查看该类型的定义:
1 typedef struct _NSRange { 2 NSUInteger location; 3 NSUInteger length; 4 } NSRange;
该类型是一个结构体,通过NSMakeRange方法可以传入正确的参数,分别表示开始位置和长度。
6.stringByAppendingString:。拼接字符串,将参数里的字符串拼接到前面,要注意的是,该方法会将拼接后的字符串作为返回值,即不会对原有的两个字符串进行任何操作。
7.替换字符串:
A.stringByReplacingCharactersInRange:withString:。与前面获取子串的方法类似,给定一个NSRange范围,从后面的字符串替换,即使后面的字符串比前面长也可以正常进行。
B.stringByReplacingOccurrencesOfString:withString:。该方法会根据第一个参数对字符串进行匹配,用第二个参数将匹配到的全部替换。
8.类型转换
intValue charValue 依次类推
9.大小写
A.uppercaseString。全部转大写
B.lowercaseString。全部转小写
C.capitalizedString。每个单词的首字母大写
10.字符串检验
A.hasPrefix:。检测字符串是否以参数开头,返回值是BOOL
B.hasSuffix:。检测字符串是否以参数结尾,返回值是BOOL
可变字符串操作:
1.initWithCapacity:。可变字符串初始化,参数为分配的空间,因为可变字符串的大小不是固定的,所以根据实际情况给值,没有规定可以用0填充。
2.setString:。用传入的参数设置字符串的值,会将原有的内容覆盖掉。
3.appendFormat:。拼接字符串,与stringByAppendString:同理
4.deleteCharactersInRange:。根据给定的NSRange删除字符串
5.insertString: atIndex:。在指定的下标插入字符串,第一个参数是插入的字符串,第二个参数是插入的下标
6.replaceCharactersInRange:withString:。替换指定范围内的字符串,第一个参数是NSRange类型的范围,第二个参数是需要的字符串
值对象:
NSNumber
因为OC中的数组可以存储不同类型的数据,但是这些数据必须是对象,所以需要通过值对象来存储基本数据类型。语法:NSNumber *num = [NSNumber numberWithInt:4];
后面的方法可以根据具体参数类型的进行更改。
也可以将NSNumber *类型的对象还原成 基本数据类型
[num intValue]
值对象也可以通过compare:方法比较大小
NSValue
NSValue与NSNumber相比,不仅可以转换基本数据类型,还能转换结构体和对象。
标签:
原文地址:http://www.cnblogs.com/shvier/p/5071536.html