[关闭]
@fiy-fish 2015-07-18T14:04:57.000000Z 字数 1135 阅读 2107

NSData的使用

Objective-c


  1. #if 0
  2. //NSData的使用 也就是对把对象和基本数据类型的内容转换成二进制数据流
  3. int main(int argc, const char * argv[]) {
  4. @autoreleasepool {
  5. //桌面路径
  6. NSString * path = [NSHomeDirectory() stringByAppendingString:@"Desktop/f1.txt"];
  7. NSString * temp = @"Hello Friend";
  8. NSArray * array = @[@"hello",@"world",@1];
  9. int i = 100;
  10. float f = 98.3333f;
  11. NSMutableData * writer = [[NSMutableData alloc] init];
  12. //给data 添加内容
  13. //1.添加data类元素
  14. /* - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding;
  15. 此方法只能由NSString 对象来调用
  16. */
  17. [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
  18. /*
  19. - (void)appendBytes:(const void *)bytes length:( NSUInteger)length;
  20. 这个方法用来给data 添加基本数据类型
  21. */
  22. [writer appendBytes:&i length:sizeof(i)];
  23. [writer appendBytes:&f length:sizeof(f)];
  24. //将数据写入到路径文件中
  25. [writer writeToFile:path atomically:YES];
  26. //下面来读取data数据
  27. int ii;
  28. float ff;
  29. NSString * ttemp;
  30. //读取文件中得数据
  31. NSData *reader = [NSData dataWithContentsOfFile:path];
  32. //
  33. ttemp = [[NSString alloc]initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])] encoding:NSUTF8StringEncoding];
  34. [reader getBytes:&ii range:NSMakeRange([temp length], sizeof(ii))];
  35. [reader getBytes:&ff range:NSMakeRange([temp length] + sizeof(ii), sizeof(ff))];
  36. NSLog(@"String:%@ int:%i float:%f", ttemp, ii, ff);
  37. }
  38. return 0;
  39. }
  40. #endif
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注