ALAssetRepresentation *rep = [appdele.sharedArrays[j] defaultRepresentation];
Byte *buffer = (Byte*)malloc(rep.size);
及以下行发出警告''隐式转换在这行代码中失去长整数精度到NSInteger '
'
NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];
如何删除此警告?
答案 0 :(得分:2)
该方法的签名是:
- (NSUInteger)getBytes:(uint8_t *)buffer
fromOffset:(long long)offset
length:(NSUInteger)length
error:(NSError **)error
您正在使用0.0
作为文字offset
的{{1}};而是使用double
这是一个文字0LL
。
此外,由于某些未知原因,long long
为ALAssetRepresentation.size
,但此方法期望long long
为length
,因此需要进行投射:
NSUInteger