课堂笔记11

来源:互联网 发布:常州市软件行业协会 编辑:程序博客网 时间:2024/06/10 01:21

NSData / NSMutableData
1、计算机中文件分为哪几种?
文本文件和二进制文件。其中我们的图片、歌曲、电影等都是二进制文件,像 .txt 的文件就是文本文件。
2、客户端与服务器端或者客户端与客户端数据交流的格式为二进制(字节流),那么对于传输给客户端的数据,在我们 OC 中用 ‘NSData’ 类来存储。对 NSData 来书,由其实例化的对象中包含大量的字节,这些字节就是我们客户端想要的信息。

//将字符串转换成 NSData

//将C语言的字符串转换成data  NSString *string = @"你好吗?";  const char *str = [string UTF8String];  NSData *data1 = [NSData dataWithBytes:str length:strlen(str)];  NSLog(@"data1 = %@",data1);

//直接将OC中的字符串转换成data

NSData *data2 = [string dataUsingEncoding:4];NSLog(@"data2 = %@",data2);

//将本地文件中的数据转换成data

NSData *data3 = [NSData dataWithContentsOfFile:@"/Users/5002/Desktop/1.jpg"];NSLog(@"data3 = %@",data3);

//将网络文件中的数据转换成data

NSData *data4 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://img0.bdstatic.com/img/image/imglogo-r.png"]];NSLog(@"data4 = %@",data4);

//求data的字节数

NSUInteger length = data4.length;NSLog(@"length = %ld",length);

//NSMutableData

//创建一个空的可变data   NSMutableData *mdata = [NSMutableData data];//增加data   [mdata appendData:data1];

OC 中的时间类 NSDate (无可变类)
在 OC 中 Foundation 框架为我们提供了强大时间操作类 ‘NSData’,该类封装了各种处理时间和日期的API

1、构造一个时间 ‘NSDate’ 类
//获取系统当前时间  NSDate *date1 = [NSDate date];  NSLog(@"date1 = %@",date1);//当前系统时间 + 100秒   NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];   NSLog(@"date2 = %@",date2);//1970年1月1日0分0秒 + 100秒   NSDate *date3=[NSDate dateWithTimeIntervalSince1970:100];   NSLog(@"date3 = %@",date3);//   NSDate *date4 = [NSDate dateWithTimeInterval:100 sinceDate:[NSDate date]];   NSLog(@"date4 = %@",date4);
2、关于 ‘时间戳’
//将一个日期转换成时间戳,此时间戳是已1970年为标准  NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];  NSLog(@"timeInterval = %f",timeInterval);//此时间戳是以现在时间为标准   NSTimeInterval timeInterval1 = [[NSDate date] timeIntervalSinceNow];   NSLog(@"timeInterval1 = %f ",timeInterval1);
    3、将时间戳装换为字符串
//将时间转换成字符串  NSDateFormatter *dateFormatter = [NSDateFormatter new];
//设置时区(默认时区)  dateFormatter.timeZone = [NSTimeZone defaultTimeZone];
//设置时间输出格式  [dateFormatter setDateFormat:@"yyyy-MM-dd HH-mm-ss ms"];  NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];  NSLog(@"dateString = %@",dateString);
//将时间的类型的字符串转换成日期  [dateFormatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];  NSDate *date = [dateFormatter dateFromString:@"2015-07-31 16-03-24"];  NSLog(@"date = %@",date);  NSTimeInterval timeinterval = date.timeIntervalSinceNow;  NSLog(@"距今现在已经%f",timeinterval);  int s = -timeinterval;  NSLog(@"%d秒前",s );  int m = -timeinterval / 60;  NSLog(@"%d分钟前",m); 
0 0