黑马程序员——Objective--C笔记Foundation之NSSting

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一.Foundation框架

1.框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架 

2.Foundation框架中大约有125个可用的头文件,作为一个简单的形式,可以简单地使用以下语句导入 : #import <Foundation/Foundation.h> 因为        Foundation.h文件实际上导入其他所有Foundation框架中的头文件 

3.如何使用Foundation框架

要想使用Foundation框架中的功能,包含它的主文件即可

#import <Foundation/Foundation.h> 

二.NSString

1一个NSString对象就代表一个字符串(文字内容)

  一般称NSString为字符串类 

2.NSString的创建方式 

1).常量字符串

    NSString *name=@"a,b,c,d";  

2).格式化的方式:字符串存储在堆区

  NSString  *str=[NSString  stringWithFormat:@"jack",@"kim"];


结论:最后输出的name和str的地址是不一样,name是在常量区,str是在堆区

             NSString的指向可以变,值不能改变

三.NSURL读写字符串

1.NSURL

1).URL的全称是Uniform Resource Locator(统一资源定位符),URL是互联网上标准资源的地址互联网上的每个资源都有一个唯一的URL,它           包含的信息指出资源的位置 

2).可以简单认为: URL ==协议头://主机域名/路径 

   例:http://ios.itcast.cn/ios/images/content_25.jpg 

   基本URL包含协议、主机域名(服务器名称\IP地址)、路径协议 服务器的域名 路径 

3).常见的URL协议头(URL类型

   http\https :超文本传输协议资源,网络资源 ,https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比http协议安全 

2.NSURL读写字符串

传入完整的字符串创建

NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/str.txt"];   通过文件路径创建(默认就是file协议的)

NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/str.txt"]; 

四.字符串比较compare

1.取出字符串每个字符的ASCII值就行比较,默认是区分大小写的,这个函数不能增加条件

2.compare方法返回的值有三种:

1)降序排列:1   例:str  > str2

2)升序排列:-1  例:str  <  str2

3)   相等:0           例:str = str2

例:NSComparisonResult   result=[str  compare:str2];

3.三种比较的方法

1).NSCaseInsensitiveSearch:不区分大小写字符。

2).NSLiteralSearch:进行完全比较,区分大小写。(默认)

3).NSNumericSearch:比较字符串的字符个数,而不是字符值。 

比较不区分大小写,比较字符的个数

例:NSComparisonResult   result=[str  compare:str2  options:NSCaseInsensitiveSearch | NSNumericSearch];

五.NSString检查前后缀(hasPrefix 和  hasSuffix)
1.1).检查字符串是否以另一个字符串开头(hasPrefix )

       -(BOOL) hasPrefix: (NSString *) aString; 

   2)判断字符串是否以另一个字符串结尾(hasSuffix)

        -(BOOL) hasSuffix: (NSString *) aString; 

注意:返回值是BOOL类型,也就是yes  和no

2.字符串的查找

1).用来检查字符串内容中是否包含了aString,如果包含,就返回aString在字符串中第一次出现的范围 

- (NSRange)rangeOfString:(NSString *)aString; 

2).反方向搜索: 从后向前搜索,遇到第一次出现的位置,则结束

[str rangeOfString: @"str" options: NSBackwardsSearch]; 

3).如果能够查找到字符串首次出现的位置,返回的是字符串的长度和第一次出现的位置,如果没有查找到返回的长度length为0 ,NSRange则       是个很大的数字


六.NSRange的使用 

1.NSRange是Foundation框架中比较常用的结构体,

2.定义:typedef struct _NSRange {

                          NSUInteger location;

                          NSUInteger length;

                 } NSRange; 

3.NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者数组里的元素范围 

4.NSRange有2个成员

1).NSUInteger location : 表示该范围的起始位置

2).NSUInteger length : 表示该范围内的长度 

例:@“I love iOS”中的@“iOS”可以用location为7,length为3的范围来表示 

5.NSRange创建方式

1).NSRange range;

    range.location = 7;

    range.length = 3; 

2).NSRange range = {7, 3};

    NSRange range = {.location = 7, .length = 3};

3).使用NSMakeRange函数 ,在字符串location指定的位置开始往后获取length长度的元素

例:NSRange range = NSMakeRange(7, 3); 

4).查看Range的值,可以使用 

例:NSRange range = {5,8}; 

        NSLog(@"%@", NSStringFromRange(range));

七.字符串的截取和替换

1.截取

1).从指定位置from开始(包括指定位置的字符)到尾部 

- (NSString *)substringFromIndex:(NSUInteger)from;

2).从字符串的开头一直截取到指定的位置to,但不包括该位置的字符 

- (NSString *)substringToIndex:(NSUInteger)to; 

3).按照所给出的NSRange从字符串中截取子串 

- (NSString *)substringWithRange:(NSRange)range; 


2.替换


八.NSMutableString

1.1).通过调用string方法, 创建一个空的NSMutableString

       - (void)appendString:(NSString *)aString;

  2)拼接aString到最后面

    - (void)appendFormat:(NSString *)format, ...;

3)拼接一段格式化字符串到最后面

   - (void)deleteCharactersInRange:(NSRange)range; 

2.注意:@”hello”这种方式创建的字符串始终是NSString,不是NSMutalbeString.所以下面的代码创建的还是NSString,此时使用可变字符串的函数,无法操作字符串。NSMutableString *s1 = @”hello”; 

3.NSString 指向是可以变的,值是不能改变的。

   NSMutableString 值是可以改变的





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值