一、NSString:不可变字符串
字符串的创建:
1、创建一个空字符串:
①、NSString *str =[ [NSString alloc] init]
②、NSString *str = [NSString string];
2、以字符串创建新的字符串(相当于字面量):
①、NSString *str = [[NSSting alloc]initWithString: newStr];
②、NSString *str = [NSStringstringWithString: newStr];
③、NSString *str = @" ";
3、按格式化创建新的字符串:
NSString *str = [[NSString alloc]initWithFormat: @"a = %d",5];
NSString *str = [NSStringstringWithFormat: @"%@",@"newStr"];
4、将一个数字转换成字符串
NSInteger a = 100;
NSString *str = [[NSString alloc]initWithFormat: @"%ld",a];
方法:
1、获取字符串长度:string.length;
2、获取指定的字符:newString = [stringcharacterAtIndex: number];
3、从指定位置开始到结束获取字符串:newString = [stringsubstringFromIndex: number];
4、从0开始到指定位置结束获取字符串:newString = [stringsubstringToIndex: number];
5、从指定范围内获取字符串:newString = [stringsubstringWithRange: range];
6、字符串的比较:NSInteger result = [string1compare: string2];
7、判断字符串是否相等:BOOl flag = [string1isEqualToString: string2];
8、判断是否有前缀:BOOl flag = [ stringhasPrefix: @" "];
9、判断是否有后缀:BOOl flag = [ stringhasSuffix:@" "];
10、将一个字符串拼接到老字符串后面:newString = [string1stringByAppendingString: string2];
11、按格式化产生一个字符串并拼接到老字符串后面:newString = [stringstringByAppendingFormat: @"%d",5];
12、将所有字符大写:upString = [stringuppercaseString];
13、将所有字符小写:lowString = [stringlowercaseString];
14、将单词首字母大写,其余小写:newString = [stringcapitalizedString];
15、用字符串替换指定范围内的出现过字符:
newString = [stringstringByReplacingCharactersInRange: rangewithString: otherString];
16、用指定字符串替换指定所有出现的字符串:
newString = [string stringByReplacingOccurrencesOfString: string withString: otherString];
二、NSMutableString:可变字符串
可变字符串的创建
1、创建一个新空字符串且预留N个字符的空间:
NSMutableString *mString = [[NSMutableString alloc]
initWithCapacity: number];
2、利用字符串来创建一个可变的字符串
NSMutableString *mString = [[NSMutableString alloc]
initWithString: otherMstring];
3、利用字面量创建一个可变的字符串
NSMutableString *mString = [@"str"
mutableCopy];
方法(因为可变字符串是不可以变字符串的子类,所以父类的方法都可以使用):
1、拼接:[string
appendString:
newString];
2、格式化拼接:[string
appendFormat: @" "];
3、在指定下标处插入字符串:[string
insertString: newString
atIndex: number];
4、删除范围内的字符:[string
deleteCharactersInRange: range];
5、替换范围内出现过的字符串:
[string
replaceOccurrencesOfString: replaceString
withString: newString
option: 查找的方式
range: range];
6、替换出现过的字符:
[string
stringByReplacingOccurrencesOfString: 被替换的字符
withString: 替换的字符;
7、将字符串转换成数字:
NSString *string = @"200";
NSInteger number =[string
integerValue];
三、NSNumber:数值类
1、将整型\浮点型\字符型装换成数值对象:
NSNumber *NSNumberObject = [[NSNumber alloc]
initWithInt\Float\Char];
2、将数值对象转换成基本数据:
数据类型 变量 = NSNumberObject
.interger\char\floatValue
3、字面量@(基本数据类型):NSNumber *z = @(‘A’)
4、将BOOL变量装换成数值:NSNumber *f = @(f)
四、NSValue 的使用
1、将点结构体转换成对象,然后将对象转换成结构体
NSPoint point = {1,2};
NSValue *value = [NSValue
valueWithPoint:point];
NSPoint pp = value
.pointValue;
2、将自定义结构体装换成对象,然后将对象装换成自定义结构体
Student stu = {“xiaohong”,’f’,19};
NSValue *stuValue = [[NSValue alloc]
initWithBytes: &stu
objCType: @encode(Student)];
Student stu1;
[stuValue
getValue: &stu1]