可变数据和不可变数据

NSData 是不可变二进制数据

NSMutableData 是可变的二进制数据

NSData创建后不可以再修改,NSMutableData可以再次修改。

NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛

特别注意:

一定要区分:NSData和NSDate
NSDate 是时间
NSData 是数据

初始化/创建一个空的data

NSData *data1 = [NSData data]; 

2)将字符串转换成NSData

//使用const关键字来将一个变量变为常量。const修饰的常量也称为‘命名常量’或者‘符号常量’
const char *str = "Hello";
NSData *data2 = [NSData dataWithBytes: str length:strlen(str)];

3)将OC中的字符串转化成NSData

NSString *string = @"你好吗?";

NSData *data3 = [string dataUsingEncoding:NSUTF8StringEncoding];

4)将本地文件中的图片转换成数据

NSData *data4 = [NSData dataWithContentsOfFile:@"图片路径"];

5)将数据写入本地文件

BOOL flag = [data4 writeToFile:@"存储路径"];

6)求data的字节长度

NSInteger length = data4.length;

NSData与NSMutableData的关系:NSMutableData继承与NSData,所以NSMutableData在初始化以及一些与字符串之间的转换的方法相似。而与可变数组、可变字符串一样,NSMutableData也用都“增”、“删”、“改”的一些操作。

你可能感兴趣的:(可变数据和不可变数据)