1.NSNumber 数字对象
// 类方法创建数字对象
int num=10;
NSNumber *intNumber=[NSNumber numberWithInt:num];
BOOL isBool=YES;
NSNumber *boolNumber=[NSNumber numberWithBool:isBool];
// 实例方法创建数字对象
float fl=3.14;
NSNumber *floatNumber=[[NSNumber alloc]initWithFloat:fl];
char character='a';
NSNumber *charNumber=[[NSNumber alloc ]initWithChar:character];
// 还原成基本数据类型
int month=[intNumber intValue];
BOOL isOpen=[boolNumber boolValue];
float length=[floatNumber floatValue];
char firstName=[charNumber charValue];
2.字符串的常用概念和常用处理方法
// ========= 字符串 =============
// 创建一个字符串常量
NSString *string=@"字符串常量";
// 创建一个空的字符串
NSString *nullString1=[[NSString alloc]init];
NSString *nullString2=[NSString string];
// 快速创建字符串
NSString *fString1=[[NSString alloc]initWithString:string];
NSString *fString2=[NSString stringWithString:string];
// 快速创建一个格式化字符串
int numS=10;
NSString *fmString1=[NSString stringWithFormat:@"格式化的数字:%i",numS];
NSString *fmString2=[[NSString alloc]initWithFormat:@"浮点数:%f",fl];
// 比较字符串
if ([fString1 isEqualTo:fString2]) {
NSLog(@"%@ 与 %@ 相等",fString1,fString2);
}
// 测试两个字符串常量是否为同一个对象
if (fString1== fString2) {
NSLog(@"是同一个对象");
}else{
NSLog(@"不是同一个对象");
}
// 比较字符串的大小
NSString *comString1=[NSString stringWithFormat:@"a"];
NSString *comString2=[NSString stringWithFormat:@"b"];
NSLog(@"字符串比较结果是:%ld",[comString1 caseInsensitiveCompare:comString2]);
// 计算字符串的长度
NSLog(@"字符串的长度是:%li",[comString2 length]);
// 改变字符串大小写
NSString *hello=@"hello world";
NSLog(@"全部大写:%@",[hello uppercaseString]);
NSLog(@"全部小写:%@",[hello lowercaseString]);
NSLog(@"首字母大写:%@",[hello capitalizedString]);
//讲字符串转换成基本数据类型
NSString *s=@"2.333";
NSLog(@"布尔类型:%d",[s boolValue]);
NSLog(@"浮点型:%f",[s floatValue]);
NSLog(@"双精度型:%f",[s doubleValue]);
NSLog(@"整型型:%d",[s intValue]);
// 将字符串转换为数组
NSString *arrayString=@"one two three";
NSArray *strArray=[arrayString componentsSeparatedByString:@" "];
// 截取字符串
NSString *intersStr=[NSString stringWithFormat:@"abcdef"];
// 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString *subStr1=[intersStr substringToIndex:2];
NSLog(@"从头截取的字符串为:%@",subStr1); // ab
// 从指定位置开始(包括指定位置的字符),到最后的全部字符
NSString *subStr2=[intersStr substringFromIndex:2];
NSLog(@"从指定位置开始到最后的字符串为:%@",subStr2); // cdef
// 根据范围来截取
NSRange range;
range.location=2;
range.length=3;
NSString *subStr3=[intersStr substringWithRange:range];
NSLog(@"截取指定位置的字符串:%@",subStr3); // cde
// 拼接字符
NSString *appStr1=@"1";
NSString *appStr2=@"2";
NSString *appStr=[[NSString alloc]initWithFormat:@"这是拼接的字符串 %@ and %@",appStr1,appStr2 ];
NSString *string1=[appStr1 stringByAppendingString:appStr2];
NSString *string2=[appStr1 stringByAppendingFormat:@"%@",appStr2];
// 查询字符串
NSString *link=@"abcdefghig";
NSRange findRange=[link rangeOfString:@"cde"];
if (findRange.location!=NSNotFound) {
NSLog(@"字符串找到了");
}
// 可变字符串
// 插入字符串
NSMutableString *mutableStr=[NSMutableString stringWithString:@"字符串"];
[mutableStr insertString:@"可变的" atIndex:0];
NSLog(@"可变插入:%@",mutableStr); // 可变的字符串
// 删除字符串
[mutableStr deleteCharactersInRange:NSMakeRange(0, 3)];
NSLog(@"可变删除:%@",mutableStr); // 字符串
// 替换字符串
[mutableStr replaceCharactersInRange:NSMakeRange(0, 2) withString:@"羊肉"];
NSLog(@"替换字符串:%@",mutableStr); // 羊肉串