dispatch_data_t和NSData的相互转换
作者:
花卷爱吃草 | 来源:发表于
2020-01-16 10:37 被阅读0次/// NSData 转 dispatch_data_t
/// @param nsdata NSData
- (dispatch_data_t)dispatchDataFromNsdata:(NSData *)nsdata {
if (nsdata == nil) {
return nil;
}
Byte byte[nsdata.length];
[nsdata getBytes:byte length:nsdata.length];
dispatch_data_t data = dispatch_data_create(byte, nsdata.length, nil, DISPATCH_DATA_DESTRUCTOR_DEFAULT);
return data;
}
/// dispatch_data_t 转 NSData
/// @param dispatchData dispatch_data_t
- (NSData *)nsdataFromDispatchData:(dispatch_data_t)dispatchData {
if (dispatchData == nil) {
return nil;
}
const void *buffer = NULL;
size_t size = 0;
dispatch_data_t new_data_file = dispatch_data_create_map(dispatchData, &buffer, &size);
if(new_data_file) {/* to avoid warning really - since dispatch_data_create_map demands we care about the return arg */}
NSData *nsdata = [[NSData alloc] initWithBytes:buffer length:size];
return nsdata;
}
本文标题:dispatch_data_t和NSData的相互转换
本文链接:https://www.haomeiwen.com/subject/tmhfzctx.html
网友评论