iOS开发学习第十六课——如何使用苹果帮助文档、NSString


         如何学好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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值