OC : NSData (二进制数据流)

NSData: NSObject

@interface NSData: NSObject <NSCopying, NSMutableCopying, NSSecureCoding>

//获取data长度的属性

@property (readonly) NSUInteger length;

//返回data对象的首指针

@property (readonly) const void *bytes;

NSData (NSExtendedData)

//返回一个ASCII编码格式的字符串,采用的格式是data属性列表的格式

@property (readonly, copy) NSString *description;

//取出data中指定长度的字节存入buffer这个提前声明的数组中

- (void)getBytes:(void *)buffer length:(NSUInteger)length;

//取出data中指定位置range的字节存入buffer这个提前声明的数组中

- (void)getBytes:(void *)buffer range:(NSRange)range;

//判断两个data是否相等

- (BOOL)isEqualToData:(NSData *)other;

//截取data指定位置的子data

- (NSData *)subdataWithRange:(NSRange)range;

//将data写入指定的文件

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

//将data写入指定的url

- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;

//将data写入指定文件,并且有写入过程的设置条件,带错误信息

- (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)writeOptionsMark error:(NSError **)errorPtr;

//将data写入指定的url,并且有写入过程的设置条件,带错误信息

- (BOOL)writeToURL:(NSURL *)url options:(NSDataWritingOptions)writeOptionsMark error:(NSError **)errorPtr;

//搜索在data1内部存在data2的位置,并且有搜索配置条件,并且可加入的搜索的范围

- (NSRange)rangeOfData:(NSData *)dataToFind options:(NSDataSearchOptions)mark range:(NSRange)searchRange;

//列举遍历字典的方法

- (void)enumerateByteRangesUsingBlock:(void (^)(const void *bytes, NSRange byteRange, BOOL *stop))block;

NSData (NSDataCreation)

//data的快速创建办法

+ (instancetype)data;

//赋值以bytes开头,长度为length的数据,进行初始化使其成为数据对象的内容

+ (instancetype)dataWithBytes:(const void *)bytes length:(NSUInteger)length;

//这个方法生成的data中保存的是指向数据的指针,并没有对数据进行复制操作

+ (instancetype)dataWithBytesNoCopy:(void *)bytes length:(NSUInteger)length;

//这个方法生成的data中保存的是指向数据的指针,并没有对数据进行复制操作。当flag为yes的时候,生成的data对象是bytes的所有者,当data对象被释放的时候也会同时释放bytes,所以bytes必须是通过malloc在堆上分配的内存。当flag为no的时候,bytes不会被自动释放,释放bytes时要注意时机,不要再data对象还被使用的时候释放bytes。

&

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值