iOS之NSData与NSMutableData的使用

1、NSData的创建:实例与类方法

  • data:创建一个不包含任何数据的空的NSData对象
  • dataWithBytes:length:/initWithBytes:length::复制C数组所包含的数据来初始化NSData的数据
  • dataWithBytesNoCopy:length:/initWithBytesNoCopy:length:直接利用C数组所包含的数据来初始化NSData对象。当该对象被执行malloc方法销毁自己时,程序会释放该C数组
  • dataWithBytesNoCopy:length:freeWhenDone:/initWithBytesNoCopy:length:freeWhenDone::直接利用C数组所包含的数据来初始化NSData对象,只有当最后一个参数为YES,且该对象被执行malloc方法销毁自己时,程序才会释放该C数组
  • dataWithContentsOfFile:/initWithContentsOfFile::直接读取文件内容,并利用文件内容来初始化NSData
  • dataWithContentsOfURL:/initWithContentsOfURL::直接读取URL关联内容,并利用该URL关联的内容来初始化NSData
  • dataWithData:/initWithData::直接使用另一个NSData所包含的数据来初始化新创建的NSData
2、访问NSData数据内容
  • bytes:返回该NSData所包含的数据
  • getBytes:length:获取NSData所包含的指定长度的数据
  • getBytes:range::获取NSData所包含的指定范围的数据
  • subdataWithRange::获取NSData所包含的指定范围的数据组成的NSData对象
  • writeToFile:atomically::将NSData数据写入文件
  • writeToURL:atomically::将NSData数据写入指定URL的资源
3、实例
#import <Foundation/Foundation.h>

int main(int argc , char * argv[])
{
	@autoreleasepool{
		// 使用NSData读取指定URL对应的数据
		NSData* data = [NSData dataWithContentsOfURL:
			[NSURL URLWithString:@"http://www.crazyit.org/ethos.php"]];
		NSLog(@"%ld" , [data length]);
		// 定义一个长度为100的数组
		char buffer[100];
		// 将NSData指定范围的数据读入数组
		[data getBytes:buffer range: NSMakeRange(103, 100)];
		// 输出数组的内容
		NSLog(@"%s" , buffer);
		// 直接将NSData的数据用UTF-8的格式转换字符串
		NSString* content = [[NSString alloc] initWithData:data 
			encoding:NSUTF8StringEncoding];
		NSLog(@"----------输出网页内容---------");
		NSLog(@"%@" , content);
	}
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值