转换问题为long long to unsigned long

时间:2014-03-20 05:26:05

标签: objective-c ios7

你好,我是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 我该怎么办?任何人....

1 个答案:

答案 0 :(得分:2)

只需将DataSize声明为unsigned long即可。问题是,无论[alassetRep size]的返回类型如何,您在使用unsigned long时都需要使用malloc,因为它是预期的数据类型。

unsigned long DataSize = [alassetRep size];