一、 学习查看类的基本信息
1. 继承自谁
2. 遵循什么协议
3. 属于什么框架
4. 从iOS哪个版本开始支持
二、 字符串类
1. NSString:不可变字符串
对象创建赋值以后,内容和长度不能动态更改
2. NSMutableString:可变字符串
该类创建的字符串是一个动态的可变的字符串,可以支持增删改查等动态的操作
3. 联系
1) NSMutableString是NSString的子类,继承的到所有方法
2) 不可变字符串的修改操作,本质就是得到一个新的字符串
3) 不可变字符串的修改方法以string开头,有返回值
4) 可变字符串的修改方法没有返回值,修改原字符串
三、 字符串常用方法
1. 创建一个字符创常量
2. 快速创建一个字符串
3. 创建一个格式化的字符串
4. 字符串的比较
5. 字符串的转换
6. 字符串的截取与拼接
NSMutableString方法
7. 增
8. 删
9. 改
10.查
四、NSNumber,数值对象
用于将基本数据类型封装为对象
三、数组类
1. 特点
1)容器类,管理一组对象类型的数据
2)数组中元素是有序的,索引值从0开始
3) 数组中存储的元素必须是对象,类型任意
2. 分为可变数组与不可变数组
四、数组常用方法
1. 数组对象的创建
2. 获取数组中的元素个数以及访问数组元素
3. 追加数组中的内容
4. 数组转字符串
5. 判断数组中是否存在一个指定的对象
6. 根据指定的对象返回索引下标、返回数组中最后一个元素
不可变数组
7. 新增
8. 插入
9. 删除最后一个元素
10. 删除指定的元素
11. 删除指定位置的元素
12. 批量删除
13. 替换元素
------------------NSString(不可变字符串)----------------
///////// 创建一个字符创常量
NSString *string1 = @"you need cry,dear";
NSLog(@"string1:%@\n",string1);
//创建一个空的字符串
NSString *string2 = [[NSString alloc]init];
NSString *string3 = [NSString string];
NSLog(@"string2:%@",string2);
NSLog(@"string3:%@",string3);
///////////快速创建一个字符串 常量区(NSString)
NSString *string4 = [[NSString alloc] initWithString:@"有你的快递,dear"];
NSString *string5 = [NSString stringWithString:@"有你的快递,dear"];
NSLog(@"string4 : %@", string4);
NSLog(@"string5 : %@", string5);
//////////////// 创建一个格式化的字符串 堆区
NSString *string6 = [[NSString alloc]initWithFormat:@"整数:%d",88];
NSString *string7 = [[NSString alloc]initWithFormat:@"浮点数:%f",88.8];
NSLog(@"string6 : %@", string6);
NSLog(@"string7 : %@", string7);
///////////////////// 字符串的比较
//比较内容是否相等
NSString *string8 = [NSString stringWithFormat:@"you need cry,dear"];
NSString *string9 = [NSString stringWithFormat:@"有你的快递,dear"];
if ([string8 isEqualToString:string9]) {
NSLog(@"相同的内容");
}else{
NSLog(@"不同的内容");
}
//比较字符串是否为一个对象,也就是说在比较这两个字符串是否在同一块内存地址内。
NSString *string10 = [[NSString alloc]initWithFormat:@"b"];
NSString *string11 = [[NSString alloc]initWithFormat:@"b"];
if (string10 == string11) {
NSLog(@"这两个字符串是同一个对象,也就是说这两个字符串两个在同一块内存内");
}else{
NSLog(@"这两个字符串不是同一个对象,也就是说这两个字符串不在同一块内存内");
}
//比较字符串的大小
string10小于string11,result=-1,
string10等于string11,result=0,
string10大于string11,result=1
NSComparisonResult result = [string10 caseInsensitiveCompare:string11];
NSLog(@"result : %ld\n",result);
//求字符串的长度
NSLog(@"字符串11的长度=%ld",[string11 length]);
/////////////////////// 字符串的转换
NSString *string12 = @"HELLOW world";
//将字母全部转为大写
NSLog(@"upper : %@\n",[string12 uppercaseString]);
//将字母全部转为小写
NSLog(@"lower : %@\n",[string12 lowercaseString]);
//每个单词首字母转化为大写,其余字母转换为小写)
NSLog(@"capital : %@\n",[string12 capitalizedString]);
//转化为基本数据类型
NSString *string13 = @"3.1";
float pi = [string13 floatValue];
NSLog(@"pi : %0.2f\n",pi);
//字符串转换成数组
NSString *string14 = @"wasd qwer";
NSArray *array = [string14 componentsSeparatedByString:@" "];
NSLog(@"array : %@",array);
//////////////////// 字符串的截取与拼接
// 截取字符串
NSString *string15 = @"wasdqwer";
NSString *subString1 = [string15 substringFromIndex:4];//从第三个索引开始(包括第三个索引对应的字符)截取到最后一位
/ NSLog(@"subString1 : %@",subString1);
NSString *subString2 = [string15 substringToIndex:4];//从0开始截取到第三个索引(不包括第三个索引对应的字符)
NSLog(@"subString2 : %@",subString2);
NSRange range = {0,4};
NSString *subString3 = [string15 substringWithRange:range];
NSLog(@"subString3 : %@",subString3);
//字符串的拼接
NSString *string16 = @"abc";
NSString *string17 = @"xyz";
NSString *appString1 = [[NSString alloc]initWithFormat:@"%@%@",string16,string17];
NSString *appString2 = [string16 stringByAppendingFormat:@"%@",string17];
NSString *appString3 = [string16 stringByAppendingString:string17];
NSLog(@"appString1 : %@",appString1);
NSLog(@"appString2 : %@",appString2);
NSLog(@"appString3 : %@",appString3);
//查找字符串
NSString *link = @"abcdeftarget=_blankxyz";
NSRange range1 = [link rangeOfString:@"target=_blank"];
if (range1.location != NSNotFound) {
NSLog(@"发现我要找的字符串");
}
------------NSMutableString(可变字符串)------------
//PS: 之前对NSString(不可变字符串)做的所有操作咱们都是对整个字符串做的处理,无法对单个字符串进行增删改查的操作。现在咱们使用NSMutableString(可变字符串)进行增删改查
///////////////////// 增
NSMutableString *multableString1 = [[NSMutableString alloc]initWithString:@"abc"];
//插入一个字符串
[multableString1 insertString:@"...xyz" atIndex:3];
[multableString1 appendString:@"你好"];
NSLog(@"mutableString1 = %@",multableString1 );
/////////////////// 删
//删除字符串
[multableString1 deleteCharactersInRange:NSMakeRange(0, 3)];
NSLog(@"mutableString1 = %@",multableString1 );
///////////////////// 改
//修改字符串中的某一部分
[multableString1 replaceCharactersInRange:NSMakeRange(0,3) withString:@"❤️"];
NSLog(@"mutableString1 = %@",multableString1 );
//////////////////// 查
//查找某一个字符串
NSRange rangeOfheart = [multableString1 rangeOfString:@"❤️"];
if (rangeOfheart.location != NSNotFound) {
NSLog(@"找到你的心了");
}
//在C语言阶段咱们定义一个字符串变量的格式如下:
char *cString; // char是字符的数据类型,cString是变量名,*是指针,在这里他起到的作用是,代表cString是一个字符串变量
//在OC阶段定义一个字符串变量的格式是一样的
NSString *ocString; //然而此时NSString在OC中不再叫做数据类型,而是叫做类,ocString也不再叫做变量名而是叫做对象。*此时还是指针,代表声明的这个对象是是NSString类型。