NSData——iOS开发基础

NSData——iOS开发基础

一、概述

  • NSData为二进制数据,在文件操作(如保存到本地)、网络、以及核心图形图像中使用较广泛

二、创建

    //对象方法创建
    NSData *data1 = [[NSData alloc] init];
    NSData *data2 = [[NSData alloc] initWithData:data1];

    //类方法创建
    NSData *data3 = [NSData data];
    NSData *data4 = [NSData dataWithData:data3];

    //由文件创建
    NSString *filePath = [NSHomeDirectory() stringByAppendingString:@"/Desktop/test.txt"];  
    NSData *data5 = [[NSData alloc] initWithContentsOfFile:filePath];
    NSData *data6 = [NSData dataWithContentsOfFile:filePath];

    // 由 URL 创建
    NSURL *urlPath = [NSURL URLWithString:[@"file://" stringByAppendingString:[NSHomeDirectory() stringByAppendingString:@"/Desktop/test.txt"]]];
    NSData *data7 = [[NSData alloc] initWithContentsOfURL:urlPath];
    NSData *data8 = [NSData dataWithContentsOfURL:urlPath];

    // 由 字符串 创建
    NSString *string = @"bei jing nin hao";
    NSData *data9 = [string dataUsingEncoding:NSUTF8StringEncoding];
    NSData *data10 = [string dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

    // 可变 NSData 的创建
    // 初始化时指定对象拥有的字节空间大小,在需要时会增加内存空间,在初始化时并没有分配内存空间
    NSMutableData *data11 = [[NSMutableData alloc] initWithCapacity:5];
    NSMutableData *data12 = [NSMutableData dataWithCapacity:5];

    // 初始化时为对象分配指定长度的归零字节
    NSMutableData *data13 = [[NSMutableData alloc] initWithLength:10];
    NSMutableData *data14 = [NSMutableData dataWithLength:10];

三、类型转换/应用

NSData与NSString、Byte、UIImage之间的转换

    //NSString 转换成 NSData
    NSString *str = @"Hello";
    NSData *strData = [str dataUsingEncoding:NSUTF8StringEncoding];

    //NSData 转换成 NSString
    NSString *str1 = [[NSString alloc]initWithData:strData encoding:NSUTF8StringEncoding];

    //Byte 转换成 NSData
    Byte byte[] = {1,2,3,4,5,6,7,8,9,10};  
    NSData *byteData = [[NSData alloc] initWithBytes:byte length:10];

    //NSData 转换成 Byte 
    Byte *testByte = (Byte *)[byteData bytes]; 

    //UIImage 转换成 NSData
    NSData *imageData1 = UIImagePNGRepresentation(UIImage *image);     //png 格式 
    NSData *imageData2 = UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality)  //jpeg格式  

    //NSData 转换成 UIImage
    UIImage *aimage = [UIImage imageWithData: imageData]; 

转载地址:iOS开发之基础篇(8)—— NSData

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值