NSData / NSMutableData
1.计算机的文件分为哪几种?
文本文件和二进制文件,其中我们的图片,歌曲,电影就是二进制文件,如: .txt 的文件就是文本文件.
2.客户端与服务器端 ,或者客户端与客户端数据交流的格式为二进制(字节流).那么对于传输给客户端数据,在我们OC中用什么类来存储呢?即为NSData
类.对 NSData
类来说,由其实例化的对象,此对象中包含大量的字节.这些字节就是我们客户端想要的信息.
3.创建NSData
NSString *string = @"你好吗";
//将字符串转换成NSData
//首先将字符串转换成C语言中的字符
const char *str = [string UTF8String];
//将C语言的字符串转换在data
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/4001/Desktop/c0fd3fee524a7f698b33a3d4f9469377.jpg"];
NSLog(@"data3 = %@",data3);
NSLog(@"-----------------");
//将网络文件中的数据转换成data
NSData *data4 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://img2.imgtn.bdimg.com/it/u=115633402,1606239112&fm=11&gp=0.jpg"]];
NSLog(@"data4 = %@",data4);
BOOL flag = [data4 writeToFile:@"/Users/4001/Desktop/1.png" atomically:YES];
if (flag) {
NSLog(@"下载成功");
}
//创建一个空的data
NSData *data5 = [NSData data];
4.求一个data的字节数
NSUInteger length = data4.length;
5.对于NSMutableData
,其为NSData
的子类
//创建一个空的可变data
NSMutableData *mdata = [NSMutableData data];
//增加data
[mdata appendData:data1];
NSDate
在OC中,Foundation框架为我们提供了强大的时间操作类NSDate
,该类封装了各种处理时间和日期的API.
1.构造一个NSDate
类
//获取系统当前时间
NSDate *date1 = [NSDate date];
NSLog(@"date1 = %@",date1);
//当前系统时间加上100秒
NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];
NSLog(@"date2 = %@",date2);
//
NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:100];
NSLog(@"date3 = %@",date3);
//
NSDate *date4 = [NSDate dateWithTimeInterval:100 sinceDate:[NSDate date]];
NSLog(@"date4 = %@",date4);
2.关于时间戳
//将一个时期转换成时间戳,此时间戳是以1970为标准
NSTimeInterval timeInterval1970 = [[NSDate date] timeIntervalSince1970];
NSLog(@"timeInterval1970 = %f",timeInterval1970);
NSTimeInterval timeIntervalNow = [[NSDate date] timeIntervalSinceNow];
NSLog(@"timeIntervalNow = %f",timeIntervalNow);
3.将NSDate
转换成NSString
NSDateFormatter *dateFormatter = [NSDateFormatter new];
4.将NSString
转换成NSDate
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:@"2015-07-31 15:40:20"];
NSLog(@"date = %@",date);
5.设置时间输出格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ms"];
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"dateString = %@",dateString);