NSMutableString NSNumber NSValue NSDate NSArray
来源:互联网 发布:王自如 知乎 编辑:程序博客网 时间:2024/05/24 01:31
目录:
一、NSMutableString可变字符串
二、NSNumber数字对象
三、NSValue
四、NSDate日期对象
五、NSArray数组对象
回到顶部
一、NSMutableString可变字符串
常用的操作就是crud增删改查
1 NSString只能做增查cr操作
2 NSMutableString可以做改删ud操作
3 可以改变字符串内容的功能,是NSString的子类
4 可变字符串的操作
1 //1 字符串的初始化stringWithString 2 3 NSMutableString* str3 = [NSMutableString stringWithString:@"abc"]; 4 5 NSLog(@"str3:%@",str3); 6 7 //2 修改字符串的内容 8 9 //在指定位置添加新的字符串insertString10 11 [str3 insertString:@"123" atIndex:1];//在1下标这个位置插入12312 13 NSLog(@"str3:%@",str3);//a123bc14 15 //替换指定位置的字符串16 17 NSRange range = {1,3};//1代表修改位置 3代表修改长度18 19 [str3 replaceCharactersInRange:range withString:@"abc"];20 21 NSLog(@"str3:%@",str3);//aabcbc22 23 //删除指定位置的字符串,后面的字符串会向前补齐24 25 [str3 deleteCharactersInRange:range];26 27 NSLog(@"str3:%@",str3);//abc28 29 30 31 //3 两个字符串对象的操作32 33 //追加一个字符串34 35 NSMutableString* str4 = [NSMutableString stringWithString:@"abc"];36 37 [str4 appendString:@"def"];38 39 NSLog(@"str4:%@",str4);//abcdef40 41 //按照指定格式追加一个字符串42 43 [str4 appendFormat:@"123%@abc",@"def"];44 45 NSLog(@"str4:%@",str4);//abcdef123defabc
回到顶部
二、NSNumber数字对象
1 在很多类使用的时候,如果使用数值,就需要将数值转换成对象类型,而基本数据类型,是无法使用的,所以我们就要封装基本数据类型变为对象类型,数字对象常用处理方式和使用与基本数据类型无差别。其实就是把栈区放入堆区
2 数字对象的初始化
1 //数字对象初始化 2 3 int i = 10;//基本数字类型 4 5 NSNumber* number = [NSNumber numberWithInt:i];//对象类型 封装 6 7 //3 数字对象转换为基本数据类型 8 9 //解封10 11 int i2 = [number intValue];
练习:将基本数据类型int、char、float、double分别封装成对象类型,输出其值
练习:将对象类型,拆为基本数据类型,输出
回到顶部
三、NSValue
1 有时需要创建一个对象,以密切反应原始数据类型或者数据结构,这种情况就需要使用NSValue类,它可以将任何OC中有效的变量类型封装成对象类型
2 NSNumber是NSValue的子类
3 使用NSValue封装一个结构体
1 *1 定义一个结构体类型 2 3 typedef struct{ 4 5 int x; 6 7 int y; 8 9 }point1;10 11 *2 声明一个结构体变量并赋值12 13 //结构体类型14 15 point1 point;16 17 point.x = 10;18 19 point.y = 20;20 21 *3 通过NSValue,将结构体封装成NSValue对象22 23 //对象类型 封装结构体24 25 //参数1 结构体变量的内存地址 参数2 地址对应结构体类型26 27 NSValue* value = [NSValue valueWithBytes:&point objCType:@encode(point1)];28 29 *4 把结构体对象拆成结构体类型30 31 //拆封32 33 point1 point2;34 35 [value getValue:&point2];36 37 NSLog(@"x:%d,y:%d",point2.x,point2.y);
回到顶部
四、NSDate日期对象
1 NSDate存储的是时间信息,默认存储的是世界标准时间(UTC),输出时需要根据时区转换为本地时间。中国大陆,香港,澳门,台湾的时间均与UTC时间差+8小时,也就是UTC+8
2 NSDate的使用
1 //初始化 得到当前时间UTC 2 3 NSDate* date = [[NSDate alloc] init]; 4 5 NSLog(@"date:%@",date); 6 7 //得到一个时间,和当前比延迟30秒 8 9 NSDate* date2 = [NSDate dateWithTimeIntervalSinceNow:30];10 11 NSLog(@"date2:%@",date2);12 13 //练习:得到昨天的此时此刻,明天的此时此刻14 15 NSDate* date3 = [NSDate dateWithTimeIntervalSinceNow:3600*24];16 17 NSLog(@"明天此时此刻:%@",date3);18 19 NSDate* date4 = [NSDate dateWithTimeIntervalSinceNow:-3600*24];20 21 NSLog(@"昨天此时此刻:%@",date4);22 23 //得到一个过去的随机时间24 25 NSDate* date5 = [NSDate distantPast];26 27 NSLog(@"过去的随机时间:%@",date5);28 29 //得到一个将来的随机时间30 31 NSDate* date6 = [NSDate distantFuture];32 33 NSLog(@"将来的随机时间:%@",date6);34 35 //和过去时间对比 返回秒数36 37 NSTimeInterval second = [date timeIntervalSince1970];38 39 NSLog(@"second:%lf",second);40 41 //比较两个时间 返回更早的时间42 43 NSDate* earlierDate = [date earlierDate:date3];44 45 NSLog(@"earlierDate:%@",earlierDate);46 47 //比较两个时间 返回更晚的时间48 49 NSDate* laterDate = [date laterDate:date3];50 51 NSLog(@"laterDate:%@",laterDate);52 53 //将世界标准时间 转换为 当地时间54 55 //1.创建模板对象56 57 NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];58 59 //2.设置模板信息60 61 dateFormatter.dateFormat = @"HH:mm:ss MM-dd-yyyy";//hh 12小时制 HH 24小时制62 63 //3.通过模板对象将时间对象转换成字符串64 65 NSString* str = [dateFormatter stringFromDate:date];66 67 NSLog(@"%@",str);
回到顶部
五、NSArray数组对象
1 数组对象是一组有序对象的集合,通过索引下标取到数组中的各个元素对象,与字符串相同,数组也有可变数组和不可变数组,数组中不可以保存基本数据类型、结构体数据类型,需要使用NSNumber和NSValue进行数据封装
2 数组的使用
1 //初始化 2 3 NSArray* array = [NSArray array]; 4 5 //数组中添加一个元素 6 7 NSArray* array2 = [NSArray arrayWithObject:@"one"]; 8 9 NSLog(@"array2%@",array2);10 11 //数组中添加多个元素12 13 NSArray* array3 = [NSArray arrayWithObjects:@"two",@"three", nil];14 15 NSLog(@"array3%@,%p",array3,array3);16 17 //通过一个已有的数组 创建一个新的数组18 19 NSArray* array4 = [NSArray arrayWithArray:array3];20 21 NSLog(@"array4%@,%p",array4,array4);
3 数组的常见用法
1 //得到数组的长度 2 3 NSUInteger length = [array4 count]; 4 5 //通过下标得到数组的元素 6 7 NSString* str = [array4 objectAtIndex:0]; 8 9 //遍历数组10 11 for (int i = 0; i < [array4 count]; i++) {12 13 NSLog(@"array4[%d]:%@",i,[array4 objectAtIndex:i]);14 15 }
练习:向数组中存放数据,
int i = 10;
char c = 'a';
BOOL b = YES;
Student age:18 name:zhangsan
输出数组对象
练习:创建一个学生对象Student,有年龄,姓名,创建5个学生对象,放到数组中,遍历数组。查询5个学生信息,只显示姓名为zhangsan的信息。只显示年龄为18的学生信息。
1 //4 在原来的数组上追加一组对象(把这一组的元素一一追加到原来的数组中)并创建新的数组 2 3 NSArray* array4 = [array arrayByAddingObjectsFromArray:array2]; 4 5 //5 在原来数组上加一个数组对象并创建新的数组 6 7 NSArray* array3 = [array arrayByAddingObject:array2]; 8 9 //6 将数组中的元素按指定符号连接起来变为字符串10 11 NSString* str = [array4 componentsJoinedByString:@":"];12 13 NSLog(@"%@",str);//one:two:three:1:2:314 15 //7 将字符串按指定符号变为数组16 17 NSArray* array5 = [str componentsSeparatedByString:@":"];18 19 NSLog(@"%@",array5);20 21 //输出结果22 23 /*(24 25 one,26 27 two,28 29 three,30 31 1,32 33 2,34 35 336 37 )*/38 39 //8 判断数组中是否包含某个对象,返回值是布尔值类型40 41 BOOL b = [array5 containsObject:@"two"];42 43 NSLog(@"%d",b);44 45 //9 获取某个对象在数组的下标,如果数组中不存在该对象,则返回一个垃圾值下标46 47 NSUInteger index = [array5 indexOfObject:@"three"];48 49 NSLog(@"%ld",index);50 51 //10 获取数组中最后一个元素52 53 NSString* lastObj = [array5 lastObject];54 55 NSLog(@"%@",lastObj);
作业:查API文档学习:NSMutableArray(可变数组)、NSMutableString(可变字符串)
作业:根据身份证号码,求年龄?求出生年月日?(NSString、NSMutableString)
作业:100.100.100.100(NSArray NSMutableArray)
第一位0~100,第二位,0~100 广州
第一位100~200,第二位,0~100 北京
第一位100~200,第二位,100~200 上海
作业:学生->班级->学院->学校
8 4 2 1
* 查看所有学生信息
* 显示 姓名zhangsan
* 显示 年龄18
(NSArray NSMutableArray)
- NSMutableString NSNumber NSValue NSDate NSArray
- OC-FUNDATION-NSString&NSMutableString&NSNumber&NSValue&NSDate
- Objective-C: Foundation——NSString、NSMutableString、NSNumber、NSValue、NSDate
- NSString+NSMutableString+NSArray+NSMutableArray+NSNumber+NSValue用法汇总
- Foundation框架—NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- NSString/NSMutableString/NSNumber/NSValue
- NSNumber NSValue NSNull NSDate
- NSNumber,NSDate,NSValue
- iOS--NSNumber,NSDate,NSValue
- [TwistedFate]NSArray NSNumber NSValue
- NSString NSMutableString NSArray NSNumber
- NSNumber,NSValue,NSDate的使用
- oc -13 NSNumber NSValue NSDate
- Foundation NSNumber NSValue NSNull NSDate
- NSNumber NSValue与NSDate 详解
- NSString,NSMutableString,NSValue,NSArray 用法
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- iOS中NSNumber,NSValue,NSDate和反射
- 设计模式之工厂方法模式
- 存储控制器的多路径机制
- solr4.5配置ik分词器
- [fedora] how switch between text and graphical consoles
- 12306上的分布式内存数据技术GemFire
- NSMutableString NSNumber NSValue NSDate NSArray
- 朴素贝叶斯分类器
- 练习1.18-练习1.22
- 静态编译OpenCV过程笔记
- 算术编码简介
- IOS 如何选择delegate、notification、KVO?
- 入侵检测
- 有一个女孩 名叫花木兰
- ClassNotFoundException for Activity class