美文网首页
OC-基础-NSData

OC-基础-NSData

作者: 月沉眠love | 来源:发表于2019-08-13 17:06 被阅读0次

一、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 = @"hello world";
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]; 

相关文章

网友评论

      本文标题:OC-基础-NSData

      本文链接:https://www.haomeiwen.com/subject/repbjctx.html