OC学习----NSDate&NSData

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值