NSString/NSMutableString/NSNumber/NSValue
2015-08-19 23:11
543 查看
// NSString 不可变字符串
// 1.创建字符串
// 1>.初始化方法
NSString *str1 = @"hello";
NSString *str = [[NSString alloc] initWithFormat:@"%@-word",str1];
NSLog(@"%@",str);
// 2>.便利构造器方法
NSString *str2 = [NSString stringWithFormat:@"%@-word- %@",str1,@"just do it"];
NSLog(@"%@",str2);
// 2.字符串长度
NSUInteger length = [str length];
NSLog(@"%lu %lu",length,[str2 length]);
// 3.将C语言的字符串转化为OC的字符串对象
char cstr[] = "iPhone";
NSString *ocstr = [NSString stringWithUTF8String:cstr];
NSLog(@"%@",ocstr);
// 4.判断该字符串是否以XX开头或者以XX结尾
NSString *address = @"www.baidu.com";
BOOL isStart = [address hasPrefix:@"www"];
BOOL isEnd = [address hasSuffix:@" om"];
NSLog(@"%d %d",isStart,isEnd);
// 5.获取字符串范围
// NSRange 结构体
// location :字符串所在位置
// length: 字符串的长度
// NSStringFromRange(NSRange); 将NSRange结构体变量转换成对象,可以直接用 %@输出
NSRange range = [address rangeOfString:@"bai"];
NSLog(@"%@",NSStringFromRange(range));
NSLog(@"%lu %lu",range.location,range.length);
// 6.获取字符串
// substringFromIndex 得到的字串包含所给的下标对应的字符(从下标开始)
NSString *substr1 = [address substringFromIndex:3];
NSLog(@"%@",substr1);
// substringToIndex 得到的字串不包含所给的下标对应的字符(到下标之前)
NSString *substr2 = [address substringToIndex:3];
NSLog(@"%@",substr2);
NSString *substr3 = [address substringWithRange:NSMakeRange(4, 3)];
NSLog(@"%@",substr3);
// 7.字符串字母大小写转换
// 1>.全部转大写
NSString *upStr = [address uppercaseString];
NSLog(@"%@",upStr);
// 2>.全部转小写
NSString *lowerstr = [upStr lowercaseString];
NSLog(@"%@",lowerstr);
// 3>.单词首字母大写
NSString *capitalStr = [address capitalizedString];
NSLog(@"%@",capitalStr);
// 8.字符串拼接
// 1>
NSString *appendStr1 = [NSString stringWithFormat:@"i love%@",@" you"];
NSLog(@"%@",appendStr1);
// 2>
NSString *string = [NSString stringWithFormat:@"i love"];
NSString *appendStr2 = [string stringByAppendingString:@" you"];
NSLog(@"%@",appendStr2);
// 9.字符串替换
// stringByReplacingOccurrencesOfString:(NSString *) withString:(NSString *);首先在给定的字符串中查找方法中的第一个参数里的字符串,如果找到,将其替换成第二给参数给定的字符串,找到多个,全部替换,找不到,不进行替换
NSString *replaceStr1 = [appendStr2 stringByReplacingOccurrencesOfString:@"o" withString:@"*"];
NSLog(@"%@",replaceStr1);
NSString *replaceStr2 = [appendStr2 stringByReplacingOccurrencesOfString:@"love" withString:@"hate"];
NSLog(@"%@",replaceStr2);
// 10.字符串比较
NSString *compareStr1 = [NSString stringWithFormat:@"aaa"];
BOOL isEqual = [compareStr1 isEqualToString:@"aa"];
NSLog(@"%d",isEqual);
// NSMutableString 可变字符串,可以修改其本身
// 1.创建NSMutableString
// 1>.初始化
NSMutableString *mStr1 = [[NSMutableStrin
4000
g alloc] initWithFormat:@"NSMutableString"];
NSLog(@"%@",mStr1);
// 2>.便利构造器
NSMutableString *mStr2 = [NSMutableString stringWithFormat:@"NSMutableString"];
NSLog(@"%@",mStr2);
// 2.插入字符串
[mStr1 insertString:@"插入" atIndex:5];
NSLog(@"%@",mStr1);
// 3.删除字符串
// 从下标为location的位置开始删除length长度个字符
[mStr1 deleteCharactersInRange:NSMakeRange(5, 2)];
NSLog(@"%@",mStr1);
// 4.拼接字符串
// 在字符串最后粘贴上
[mStr1 appendString:@"111"];
NSLog(@"%@",mStr1);
// NSNumber 数值对象,完成数值标量与对象类型的互转.
int a = 10;
NSLog(@"%d",a);
// 将int类型转换为NSNumer对象类型
NSNumber *objInt = [NSNumber numberWithInt:a];
NSLog(@"%@",objInt);
[NSNumber numberWithInteger:a];
NSLog(@"%@",objInt);
// 将NSNumber对象转回原数值类型
int value = [objInt intValue];
NSLog(@"%d",++value);
// NSValue 完成标量到对象类型的互转(结构体,指针)
NSValue *value2 = [NSValue valueWithRange:NSMakeRange(10, 20)];
NSLog(@"%@",value2);
// 将自定义的结构体转化成NSValue对象
Stu stu1 = {"zhangsan",'m'};
// 参数1:获取要转化成对象的结构体变量的地址.
// 参数2:按照对应的结构体类型进行对象的转化.
NSValue *value3 = [NSValue valueWithBytes:&stu1 objCType:@encode(Stu)];
NSLog(@"%@",value3);
// 把NSValue对象转回自定义结构体类型
Stu stu2;
[value3 getValue:&stu2];
NSLog(@"%s %c",stu2.name,stu2.gender);
// 1.创建字符串
// 1>.初始化方法
NSString *str1 = @"hello";
NSString *str = [[NSString alloc] initWithFormat:@"%@-word",str1];
NSLog(@"%@",str);
// 2>.便利构造器方法
NSString *str2 = [NSString stringWithFormat:@"%@-word- %@",str1,@"just do it"];
NSLog(@"%@",str2);
// 2.字符串长度
NSUInteger length = [str length];
NSLog(@"%lu %lu",length,[str2 length]);
// 3.将C语言的字符串转化为OC的字符串对象
char cstr[] = "iPhone";
NSString *ocstr = [NSString stringWithUTF8String:cstr];
NSLog(@"%@",ocstr);
// 4.判断该字符串是否以XX开头或者以XX结尾
NSString *address = @"www.baidu.com";
BOOL isStart = [address hasPrefix:@"www"];
BOOL isEnd = [address hasSuffix:@" om"];
NSLog(@"%d %d",isStart,isEnd);
// 5.获取字符串范围
// NSRange 结构体
// location :字符串所在位置
// length: 字符串的长度
// NSStringFromRange(NSRange); 将NSRange结构体变量转换成对象,可以直接用 %@输出
NSRange range = [address rangeOfString:@"bai"];
NSLog(@"%@",NSStringFromRange(range));
NSLog(@"%lu %lu",range.location,range.length);
// 6.获取字符串
// substringFromIndex 得到的字串包含所给的下标对应的字符(从下标开始)
NSString *substr1 = [address substringFromIndex:3];
NSLog(@"%@",substr1);
// substringToIndex 得到的字串不包含所给的下标对应的字符(到下标之前)
NSString *substr2 = [address substringToIndex:3];
NSLog(@"%@",substr2);
NSString *substr3 = [address substringWithRange:NSMakeRange(4, 3)];
NSLog(@"%@",substr3);
// 7.字符串字母大小写转换
// 1>.全部转大写
NSString *upStr = [address uppercaseString];
NSLog(@"%@",upStr);
// 2>.全部转小写
NSString *lowerstr = [upStr lowercaseString];
NSLog(@"%@",lowerstr);
// 3>.单词首字母大写
NSString *capitalStr = [address capitalizedString];
NSLog(@"%@",capitalStr);
// 8.字符串拼接
// 1>
NSString *appendStr1 = [NSString stringWithFormat:@"i love%@",@" you"];
NSLog(@"%@",appendStr1);
// 2>
NSString *string = [NSString stringWithFormat:@"i love"];
NSString *appendStr2 = [string stringByAppendingString:@" you"];
NSLog(@"%@",appendStr2);
// 9.字符串替换
// stringByReplacingOccurrencesOfString:(NSString *) withString:(NSString *);首先在给定的字符串中查找方法中的第一个参数里的字符串,如果找到,将其替换成第二给参数给定的字符串,找到多个,全部替换,找不到,不进行替换
NSString *replaceStr1 = [appendStr2 stringByReplacingOccurrencesOfString:@"o" withString:@"*"];
NSLog(@"%@",replaceStr1);
NSString *replaceStr2 = [appendStr2 stringByReplacingOccurrencesOfString:@"love" withString:@"hate"];
NSLog(@"%@",replaceStr2);
// 10.字符串比较
NSString *compareStr1 = [NSString stringWithFormat:@"aaa"];
BOOL isEqual = [compareStr1 isEqualToString:@"aa"];
NSLog(@"%d",isEqual);
// NSMutableString 可变字符串,可以修改其本身
// 1.创建NSMutableString
// 1>.初始化
NSMutableString *mStr1 = [[NSMutableStrin
4000
g alloc] initWithFormat:@"NSMutableString"];
NSLog(@"%@",mStr1);
// 2>.便利构造器
NSMutableString *mStr2 = [NSMutableString stringWithFormat:@"NSMutableString"];
NSLog(@"%@",mStr2);
// 2.插入字符串
[mStr1 insertString:@"插入" atIndex:5];
NSLog(@"%@",mStr1);
// 3.删除字符串
// 从下标为location的位置开始删除length长度个字符
[mStr1 deleteCharactersInRange:NSMakeRange(5, 2)];
NSLog(@"%@",mStr1);
// 4.拼接字符串
// 在字符串最后粘贴上
[mStr1 appendString:@"111"];
NSLog(@"%@",mStr1);
// NSNumber 数值对象,完成数值标量与对象类型的互转.
int a = 10;
NSLog(@"%d",a);
// 将int类型转换为NSNumer对象类型
NSNumber *objInt = [NSNumber numberWithInt:a];
NSLog(@"%@",objInt);
[NSNumber numberWithInteger:a];
NSLog(@"%@",objInt);
// 将NSNumber对象转回原数值类型
int value = [objInt intValue];
NSLog(@"%d",++value);
// NSValue 完成标量到对象类型的互转(结构体,指针)
NSValue *value2 = [NSValue valueWithRange:NSMakeRange(10, 20)];
NSLog(@"%@",value2);
// 将自定义的结构体转化成NSValue对象
Stu stu1 = {"zhangsan",'m'};
// 参数1:获取要转化成对象的结构体变量的地址.
// 参数2:按照对应的结构体类型进行对象的转化.
NSValue *value3 = [NSValue valueWithBytes:&stu1 objCType:@encode(Stu)];
NSLog(@"%@",value3);
// 把NSValue对象转回自定义结构体类型
Stu stu2;
[value3 getValue:&stu2];
NSLog(@"%s %c",stu2.name,stu2.gender);
相关文章推荐
- hdu 5400 Arithmetic Sequence
- hdu 2817 A sequence of numbers(快速幂)
- 动态改变UITabBarController的菜单文字
- easyui------显示隐藏列功能
- UIView.animateWithDuration 没有动画过渡效果直接跳到最后
- UIScrollView滚动时隐藏底部导航栏问题
- LightOJ 题目1427 - Substring Frequency (II)(AC自动机)
- 实现UITableView循环利用
- STL使用:deque双端队列
- 8.18 [LeetCode 52] N-Queens II
- UI_04 事件处理
- uva 11248 Frequency Hopping (最大流)
- HDU 3836--Equivalent Sets【求有向图最少增加多少边使图强连通 && Scc缩点新建图】
- priority_queue优先队列容器
- UVA 694-The Collatz Sequence
- GUID全球唯一标识
- GUID全球唯一标识
- ios UIButton的图片和文字位置
- iOS UI基础-2.0按钮操作与形变
- iOS ui 学习 1-2天的笔记