你好,我是Objective的初学者。我正在将视频文件转换为NSData。它的工作正常,但它给了我一个消息的值转换问题"隐式转换失去了整数精度:long long to unsigned long" 这是代码
long long DataSize = [alassetRep size];
Byte *buffer = (Byte*)malloc(DataSize);
NSUInteger buffered = (NSUInteger)[alassetRep getBytes:buffer fromOffset:0.0 length:alassetRep.size error:nil];
NSData *videoData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];
问题在这里字节缓冲区=(字节)malloc(DataSize); 和长度:alassetRep.size 我该怎么办?任何人....
答案 0 :(得分:2)
只需将DataSize声明为unsigned long
即可。问题是,无论[alassetRep size]
的返回类型如何,您在使用unsigned long
时都需要使用malloc
,因为它是预期的数据类型。
unsigned long DataSize = [alassetRep size];