如何学好iOS开发?
1.要学会使用苹果官方文档
2.对于方法的学习记忆:多练多敲
3.多查资料
4.上课对于新方法的学习,一定要做详细注释
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;
//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;
}