iOS开发学习第十六课——如何使用苹果帮助文档、NSString
2015-06-12 22:07
951 查看
如何学好iOS开发?
1.要学会使用苹果官方文档
2.对于方法的学习记忆:多练多敲
3.多查资料
4.上课对于新方法的学习,一定要做详细注释
5.***多调试Bug,提升自己独立解决问题的能力
#import
<Foundation/Foundation.h>
int
main(int
argc,
const char
* argv[]) {
@autoreleasepool {
//NSString
字符串类
//1.创建一个字符串对象
NSString
*str1 =
@"XiaoMing";
//2.创建字符串对象的第二种方法(初始化方法创建)
//(1).
NSString
*str2 = [[NSString
alloc]
initWithString:@"JiangTao"];
//(2).使用便利构造器创建对象
NSString
*str2 = [[NSString stringWithString:@"峻峰"];
//3.Format格式
NSString
*str4 =
@"帅帅";
NSString
*str5 = [NSString
stringWithFormat:@"我叫%@",str4];
NSLog(@"str5 = %@",str5);
//对于基本数据类型也可以使用到字符串当中
int
a = 10;
NSString
*str6 = [NSString
stringWithFormat:@"今年%d岁",a];
NSLog(@"str6 = %@",str6);
//如何将C语言当中字符串转化为OC对象
char
symbol[10] = "Hello";//C言语当中的字符串
//将C语言字符串
转化OC字符串对象
NSString
*str7 = [NSString
stringWithUTF8String:symbol];
NSLog(@"str7 = %@",str7);
//使用Format格式
char
name[10] = {0};
printf("请输入同桌的姓名:");
scanf("%s",name);
//将C语言里的字符串转化为OC中的字符串对象
NSString
*nameStr = [NSString
stringWithUTF8String:name];
//使用formate格式
得到最终的字符串
NSString
*classmateStr = [NSString
stringWithFormat:@"My classmate's name is %@",nameStr];
NSLog(@"%@",classmateStr);
//字符串长度
NSString
*str8 =
@"You Can You Up,No Can No BB";
//创建字符串对象
NSString
*str8 = [NSString stringWithFormat:@"You Can You Up,No Can No BB!"];
//求字符串长度
不考虑'\0'
NSUInteger
length = [str8
length];
NSLog(@"Length = %lu",length);
//汉字
NSString
*ChineseStr =
@"小龙吃包子";
NSUInteger
ChineseLength = [ChineseStr
length];
NSLog(@"%lu",ChineseLength);
//3.前缀和后缀
也就是字符串以什么开头,以什么结尾
//前缀和后缀是没有界限的
NSString
*baiduStr =
@"http://www.baidu.com";
//hasPrefix
此方法用来判断字符串前缀,也就是说是否以某字符串开头,返回值类型是BOOL类型,
如果为真,则说明字符串是以次前缀开头
BOOL
isStart = [baiduStr
hasPrefix:@"http"];
NSLog(@"isStart = %d",isStart);
BOOL
isEnd = [baiduStr hasSuffix:@"com"];
NSLog(@"isEnd = %d",isEnd);
//创建一个新浪网址字符串
char
Sina[50] = {0};
printf("请输入新浪网址:");
scanf("%s",Sina);
//将C语言的字符串转化为OC中的对象
NSString
*SinaStr = [NSString
stringWithUTF8String:Sina];
//判断前缀是否以http.开头
BOOL
SinaStart = [SinaStr
hasPrefix:@"www."];
//判断后缀是否以.com结尾
BOOL
SinaEnd = [SinaStr
hasSuffix:@".com"];
//如果同时满足前缀和后缀,则说明是有效网址
if
(SinaStart && SinaEnd) {
NSLog(@"此网址是有效网址");
}else{//否则是无效网址
NSLog(@"此网址是无效网址");
}
//4.搜索字符串范围
NSString
*rangOfStr =
@"ZhenZhe XiaoLong HaiFeng";
//rangeOfString
用来求字符串中子字符串的范围
NSRange
range = [rangOfStr
rangeOfString:@"XiaoLong"];
//NSRang是一个结构体,成员有location
和
length ,所以rang.location
是字符串范围的下标起始位置,而且,如果字符串有两个及两个以上的话,以遇到第一个为准
NSLog(@"location = %lu,length = %lu",(unsigned
long)range.location,(unsigned
long)range.length);
//因为子字符串当中可以得到长度,如果不存在此字符串,则length
== 0,所以,我们通过length的结果判断此时字符串中有没有我们需要的子字符串(字符串当中的内容)
if
(range.length
!= 0){
NSLog(@"查找成功,存在此字符串");
}else{
NSLog(@"查找不成功,不存在此字符串");
}
//截取字符串
NSString
*nameStr =
@"XiaoMing XiaoXue XiaoHong";
//substringToIndex:
字符串截取,从字符串的开始就一直截取到下标-1减一的位置,包含这个字符
[nameStr substringToIndex:11];
NSString
*receiveStr = [nameStr
substringToIndex:11];
NSLog(@"receive = %@",receiveStr);
//根据字符串范围可以得到子字符串下标开始位置nameRange.location
NSRange
nameRang =[nameStr
rangeOfString:@"aoH"];
//给定一个位置,从此位置到最后一个字符串结束
NSString
*XiaoHong = [nameStr
substringFromIndex:nameRang.location];
NSLog(@"XiaoHong = %@",XiaoHong);
//截取字符串任意范围内的子字符串
//第一种方式
NSRange
XiaoXue = [nameStr
rangeOfString:@"XiaoXue"];
NSString
*XiaoXueStr = [nameStr
substringWithRange:XiaoXue];
NSLog(@"%@",XiaoXueStr);
//第二种方式
NSString
*str9 = [nameStr
substringWithRange:NSMakeRange(9, 8)];
NSLog(@"%@",str9);
//6.拼接字符串
NSString
*lodStr = [NSString
stringWithFormat:@"I Love You!"];
//为现有的字符串对象拼接字符串
NSString
*newSrt = [lodStr
stringByAppendingString:@"Me Too!"];
NSLog(@"%@",newSrt);
//拼接格式串
NSInteger
totalAge = 50;
NSString
*totalStr = [newSrt
stringByAppendingFormat:@"%ld",(long)
totalAge];
NSLog(@"%@",totalStr);
//7.替换字符串
NSString
*replaceStr =
@"XiaoFeng XiaoAn";
//将XiaoYu换成XiaoAn,整体替换,前面为被替换内容,后面是将要替换的内容,即用后面的替换前面的
NSString
*newString = [replaceStr
stringByReplacingOccurrencesOfString:@"XiaoAn"
withString:@"XiaoYu"];
NSLog(@"%@",newString);
//在某个范围内整体替换
NSString
*twoNewStr = [newString
stringByReplacingCharactersInRange:NSMakeRange(4, 9)
withString:@"Jin"];
NSLog(@"%@",twoNewStr);
//8.比较字符串
NSString
*comStr1 =
@"Hello!";
NSString
*comSrt2 =
@"Hi!";
NSComparisonResult
result = [comStr1
compare:comSrt2];
switch
(result){
case
NSOrderedSame:
NSLog(@"两个字符串相等");
break;
case
NSOrderedAscending:
NSLog(@"前一个字符串比第二个字符串小");
break;
case
NSOrderedDescending:
NSLog(@"前一个字符串比第二个字符串大");
break;
default:
break;
}
//9.字符串与数值类型转换
NSString
*numberStr =
@"123";//若想数值提取成功,则字符串对象里面必须只能出现数字
//转换为数值类型
int
number = [numberStr
intValue];
printf("number = %d\n",number);
//转换为float类型
NSString
*floatStr =
@"9.8";
float
f = [floatStr floatValue];
printf("f = %.2f\n",f);
//10.大小写转换
NSString
*wordStr =
@"Tonight I Close To You";
//全部转换成大写
NSString
*upperStr = [wordStr
uppercaseString];
NSLog(@"%@",upperStr);
//全部转换成小写
NSString
*lowStr = [upperStr
lowercaseString];
NSLog(@"%@",lowStr);
//将单词的首字母大写
NSString
*capitalStr = [lowStr
capitalizedString];
NSLog(@"%@",capitalStr);
//可变字符串
NSMutableString
是 NSString
的子类
//在不可变NSString字符串的基础上,增加了自己独有的一些方法,比如:增删改查
//创建一个可变字符串对象
NSMutableString
*mutStr = [[NSMutableString
alloc]
initWithCapacity:1];
//使用变量构造器创建
NSMutableString
*mutStr = [NSMutableString
stringWithCapacity:1];
//拼接字符串
[mutStr appendFormat:@"NSMutableString!"];
NSLog(@"%@",mutStr);
//插入字符串
[mutStr insertString:@"逗比"
atIndex:2];
NSLog(@"%@",mutStr);
//删除指定范围的字符串
//第一种方法
NSRange
rangDelete = [mutStr
rangeOfString:@"逗比"];
[mutStr deleteCharactersInRange:rangDelete];
NSLog(@"%@",mutStr);
//第二种方法
[mutStr deleteCharactersInRange:NSMakeRange(3,
3)];
NSLog(@"%@",mutStr);
}
return
0;
}
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- String.intern
- 肯特·贝克:改变人生的代码整理魔法
- 你应该学习哪种编程语言?
- 基础命令学习总结
- [转]我们需要一种其他人能使用的编程语言
- DB2编程序技巧(1)
- DB2编程序技巧 (四)
- 女人VS编程_国庆快乐
- DB2编程序技巧 (六)
- DB2编程序技巧 (三)
- DB2编程序技巧 (九)
- DB2编程序技巧 (七)
- DB2编程序小小技巧
- DB2编程序技巧 (五)
- DB2编程序技巧 (一)
- DB2编程序技巧 (八)
- DB2编程序技巧 (十)