您的位置:首页 > 移动开发 > IOS开发

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息