Foundation介绍和使用
框架是由许多类,方法,函数,文档按照一定逻辑组织起来的集合,以便使研发程序编的梗容易在OS X下Mac操作系统中大约有80个框架为所有程序开发奠定基础框架称为Foundation框架
Foundation框架允许使用一些基本对象,加数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期,内存管理,处理文件系统,存储(或归档)对象,处理集合数据结构(如点和长方形)
如何使用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"];
1.NSString字符串比较
字符串的比较函数
字符串根据排列顺序的不同,会有大小的差异,如果我们要比较两个字符串大小的话,可以使用compare方法。
compare方法返回的结果有三种(1)NSOrderedAscending(升序) 前小后大
(2)NSOrderedSame 相等
(3)NSOrderedDescending(降序) 前大后小
代码演示:
还可以给字符串比较添加一些条件:
如:NSComparisonResult result=[str1 compare:str2 options:NSCaseInsensitiveSearch]
常见的有三个条件:
NSCaseInsensitiveSearch:不区分大小写字符
NSLiteralSearch:进行完全比较区分大小写
NSNumericSearch:字符串比较字符个数,而不是字符值
也可以同时添加多个条件
如:NSComparisonResult result=[str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch]
(既不区分大小写又比较字符串个数)
NSString前后缀检查及搜索
可以通过字符串的前缀检查字符串
如:
也通过字符串的后缀检查字符串
如:
字符串查找(子字符串在原字符串)
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;
替换
NSMutableString介绍和使用
NSMutableString是可变的,里面的文字内容可以随时更改。
NSString是不可变的里面的文字内容是不能进行修改的。
NSMutableString常用的方法:
int main( ){
NSMutableString *str=[NSMutableString string];
[str appendFormat:@"http://baidu.com/%d",100];
//1)格式化添加字符串
}
//2)删除字符串一部分内容
[str deleteCharaCterslnRange:NSMake Range(3,4)];
//3)给字符串从哪个位置添加一部分
[str inserString:@"p://"atlndex:3];
//4)替换字符串的一部分内容
[str repelaceCharacterslnrange:NsMakeRange(11,5)WithString:@"itcast"];
@“abc”这种方式创建的字符串始终是NSString不是NSSMutablestring所以下面的代码创建的还是NSString,此时使用可辨字符串的函数无法操作字符串。