------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------
OC加强 --第四天学习总结:
1. Foundation框架介绍
框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,一遍是研发程序变得更容易在os x下的Mac操作系统中大约有80哥框架为所有程序开发奠定基础的框架成为Foundation框架。
Foundation框架允许使用一些基本对象,如数字和字符串,以及对象集合,如数组,字典。
Cocoa是Foundation和AppKit的集合应用开发工具包
Cocoa Touch是Foundation和UIKit的集合 UI控件的工具包
Foundation框架是Mac\ios中其他框架的基础
Foundation框架包含了很多开发中常用的数据类型。
2. NSString比较大小
判断字符串内容真正是否相等。[str1 isEqualToString : str2]; 此时区分大小写,返回的是bool型字符串比较;
加上 :caseInsensitiveCompare: 条件后,则 不考虑大小写
@autoreleasepool {
NSString *str1 = @"abc"; // a 97
NSString *str3 = [NSString stringWithFormat:@"Abc"];
if ([str1 isEqualToString:str3]) {
NSLog(@"相等");
}else
NSLog(@"不相等");
}
3. NSString 前后缀检测
1. 检测前缀 hasprefix:
如何检测一个字符串是否是一个网址
[Str hasPrefix:@”要检测内容”];//返回的是bool型
2. 检测后缀 hassuffix:
NSString *url = @"https://ios.itcast.cn";
if([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]){
NSLog(@"是一个网址");
}else{
NSLog(@"这不是一个网址");
}
NSString *imgName = @"xxxxx.doc";
// [str hasSuffix:@"带检测的后缀"]
if([imgName hasSuffix:@".jpg"])
{
NSLog(@"是一个图片");
}else{
NSLog(@"这不是一个图片");
}
}
4.字符串查找 rangOfString:
查找某个字符串在另外一个字符串中首次出现的位置,如:
NSString *str1=@”isiosdfd”;
NSString *str2=@”ios”;
NSRangerange=[Str1 rangOfString :str2];
NSLog(@”%lu,%lu”,range.location,range.length);//2 3
如果查找不到,返回的信息:location 特大的数(NSNotFound)
Legth 0
Range结构体变量 NSRange 结构体别名
Range.location 表示字符串首次出现的位置
Range.lengh 字符串出现的长度(实质上就是字符串的长度)。
5.NSRange的使用
1)NSRange主要用来定义结构体,用来表示一个范围,通常是字符串里的字符范围或者是数组里的元素范围;
2)NSRange有两个成员变量,分别是:location:表示该范围的起始位置,length:表示该范围的长度;
3)OC中新增的 NSMakeRange函数的作用给 NSRange结构体变量赋值
NSRange r4 = NSMakeRange(3, 3);
4)可以把结构体变量转换为 NSString类型,而打印出来;
NSLog(@“%@“,NSStringFromRange(r4));
6. 字符串的截取和替换
1.从X位置开始,到最后结束
NSString *str=@”http://www.baidu.com”;
NSString*str1=[str substringFromIndex:5];--->从下表为5个位置开始
NSLog(@”str1=%@”,str1);--->//www.baidu.com
2.从开始位置,到x位置结束
NSString *str=@”http://www.baidu.com”;
NSString*str1=[str substringToIndex:5];--->打印5个字符
NSLog(@”str1=%@”,str1);--->http:
3.截取一个范围range
<span style="font-size:18px;">NSString*str=@”http://www.baidu.com”;
NSRanger1={3, 4};
NSString*str1=[str substringWithRange:r1];
NSLog(@”str1=%@”,str1);--->p://</span>
7. 字符串替换
[ 原字符串 stringByReplacingOccurrenxesOfString:@”a” withString :”*”];
--->把原字符串中的a替换成* 返回的是NSString 类型的字符串
8. NSString的其他用法
1.获取字符串的每个字符
[Str CharacterArIndex:(0)];---->获取str的第一个字符
2.把NSString字符转换成基本类型
NSString *str = @“1”;
NSString *str2 = @”3.14”;
Intb = [ str intvalue ]; --->b=1;
Float f = [ str2 floatvalue]; ---->f=3.14f;
3.OC的字符串和C的字符串互相转换问题
1)c--------->oc
Char *s = ”zhangsan”;
NSString *str=[ NSString stringWithUTF8String :s ];
2) oc----------->c
NSString *str = @”zhangbai”;
const Char *s=[ str UTF8String ];
9.NSMutableStirng
NSMutableStirng是一个继承NSString的类。拥有NSString 所有的方法,是可变的 。
NSString是不可变的。
不可变:字符串占用的空间和字符串的内容,都不能改变
可变:指的是字符串在内存中占用的存储空间可以不固定,并且存储的内容可以被修改。
如:
NSMutableString *str=[NSMutableString stringWithFormat:@”jack”];
[str appendString :@“rose”];
NSLog(@”%@”,str);--->jack&rose
1)格式化添加字符串:
-(void) appendFormat:(NSStirng*)format... ;
[str appendFormat:@”http://www.baidu.com”];
2)删除字符串一部分内容
-(void)deleteCharactersInRange:(NSRange)range;
[str deleteCharactersInRange:NSMakeRange(3 , 4)]; --->httwww.baidu.com
3)字符串插入到指定位置
[str insertString :@”p://” atIndex:3]; ---->http://www.baidu.com
4)替换字符串的一部分内容
[str replaceCharactersInRange:NSMakeRange(11,5) withString:@”itcase”];
------->http://www.itcast.com