iOS开发技术汇总

NS数据类型转换

2020-05-28  本文已影响0人  刺眼的荣耀

1,NSData 与 NSString

  NSData --> NSString

  NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];

  NSString --> NSData

  NSString *aString = @"1234";

  NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];

2,NSData 与 Byte

  NSData --> Byte

  NSString *testString = @"1234567890";

  NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];

  Byte *testByte = (Byte *)[testData bytes];

Byte --> NSData

   Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};

  NSData *adata = [[NSData alloc] initWithBytes:byte length:24];

3,NSData 与 UIImage

NSData --> UIImage

  UIImage *aimage = [UIImage imageWithData: imageData];

  //例:从本地文件沙盒中取图片并转换为NSData

  NSString *path = [[NSBundle mainBundle] bundlePath];

  NSString *name = [NSString stringWithFormat:@"ceshi.png"];

  NSString *finalPath = [path stringByAppendingPathComponent:name];

  NSData *imageData = [NSData dataWithContentsOfFile: finalPath];

  UIImage *aimage = [UIImage imageWithData: imageData];

UIImage-> NSData

  NSData *imageData = UIImagePNGRepresentation(aimae);

4,NSData 与 NSMutableData

NSData --> MSMutableData

NSData *data=[[NSData alloc]init];

NSMutableData *mdata=[[NSMutableData alloc]init];   

mdata=[NSData dataWithData:data];

5,NSData 与NSDictionary

NSData *data =    [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];

NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers  error:nil];

6,NSData合并为一个NSMutableData

- (NSString *)filePathWithName:(NSString *)filename

 {

         NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

         NSString *documentsDirectory = [paths objectAtIndex:0];

         return [documentsDirectory stringByAppendingPathComponent:filename];

 }
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

     //音频文件路径

         NSString *mp3Path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"];

         NSString *mp3Path2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"mp3"];

         //音频数据

         NSData *sound1Data = [[NSData alloc] initWithContentsOfFile: mp3Path1];

         NSData *sound2Data = [[NSData alloc] initWithContentsOfFile: mp3Path2];

         //合并音频

         NSMutableData *sounds = [NSMutableData alloc];

         [sounds appendData:sound1Data];

         [sounds appendData:sound2Data];

         //保存音频

         NSLog(@"data length:%d", [sounds length]);

         [sounds writeToFile:[self filePathWithName:@"tmp.mp3"] atomically:YES];

         [window makeKeyAndVisible];

     return YES;

 }
上一篇 下一篇

猜你喜欢

热点阅读